Mysql-主键和外键索引的应用规则
发布时间
阅读量:
阅读量
使用规则
最左前缀法则解析
当索引关联了多个列(即联合索引)时,需遵循最左前缀原则。该原则表明,查询条件必须从索引的最左侧列开始,并且不能跳过中间的任何一列。若在查询过程中跳过了某一列,则该索引将无法完全生效,导致其后字段的索引作用失效。
范围查询
在联合索引的应用场景中,若存在范围查询操作(如小于、大于等),则位于范围查询右侧的列将无法有效利用索引。为避免出现此类问题,可考虑使用大于等于或小于等于等条件来替代,从而确保索引的有效性。
索引失效现象分析
- 当对索引列执行运算操作时,该索引将无法被有效利用。例如:
explain select * from tb_user where substring(phone, 10, 2) = '15'; - 在使用字符串类型字段时,若未添加引号,将导致索引失效。例如:
explain select * from tb_user where phone = 17799990015;,此处phone的值未使用引号进行标注。 - 在进行模糊查询时,若仅对尾部内容进行匹配,则索引仍可正常发挥作用;但若对头部内容进行模糊匹配,则会导致索引失效。例如:
explain select * from tb_user where profession like '%工程';,若
全部评论 (0)
还没有任何评论哟~
