Advertisement

Mysql-主键和外键索引的应用规则

阅读量:

使用规则

最左前缀法则解析

当索引关联了多个列(即联合索引)时,需遵循最左前缀原则。该原则表明,查询条件必须从索引的最左侧列开始,并且不能跳过中间的任何一列。若在查询过程中跳过了某一列,则该索引将无法完全生效,导致其后字段的索引作用失效。

范围查询

在联合索引的应用场景中,若存在范围查询操作(如小于、大于等),则位于范围查询右侧的列将无法有效利用索引。为避免出现此类问题,可考虑使用大于等于或小于等于等条件来替代,从而确保索引的有效性。

索引失效现象分析

  1. 当对索引列执行运算操作时,该索引将无法被有效利用。例如:explain select * from tb_user where substring(phone, 10, 2) = '15';
  2. 在使用字符串类型字段时,若未添加引号,将导致索引失效。例如:explain select * from tb_user where phone = 17799990015;,此处phone的值未使用引号进行标注。
  3. 在进行模糊查询时,若仅对尾部内容进行匹配,则索引仍可正常发挥作用;但若对头部内容进行模糊匹配,则会导致索引失效。例如:explain select * from tb_user where profession like '%工程';,若

全部评论 (0)

还没有任何评论哟~