总结一下使用索引的一些建议

  1. 在区分度高的字段上建立索引可以有效的使用索引,区分度太低,无法有效的利用 索引,可能需要扫描所有数据页,此时和不使用索引差不多

  2. 联合索引注意最左匹配原则:必须按照从左到右的顺序匹配, mysql会一直向右匹配 直到遇到范围查询(>、 <、 between、 like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引, d是得不到索引的,如果建立(a,b,d,c)的索引则都可以得到, a,b,d的顺序可以任意调整

  3. 查询记录的时候,少使用*,尽量去利用索引覆盖,可以减少回表操作,提升效率

  4. 有些查询可以采用联合索引,进而使用到索引下推(IPC),也可以减少回表操作,提升效率

  5. 禁止对索引字段使用函数、运算符操作,会使索引失效

  6. 字符串字段和数字比较的时候会使索引无效

  7. 模糊查询'%值%'会使索引无效,变为全表扫描,但是'值%'这种可以有效利用索引

  8. 排序中尽量使用到索引字段,这样可以减少排序,提升查询效率

posted @ 2022-10-31 10:11  岁月记忆  阅读(89)  评论(0)    收藏  举报