云迈博客

您现在的位置是:首页 > 后端开发 > Java > 正文

Java

索引失效的几个原因

caoxu2022-05-31Java237
隐式的类型转换,索引失效int类型列string查询查询条件包含or,可能导致索引失效a带索引b不带索引查询条件wherea=1orb=2;like通配符可能导致索引失

隐式的类型转换,索引失效

int 类型列 string查询

查询条件包含or,可能导致索引失效

a 带索引 b 不带索引 查询条件 where a=1 or b=2;

like通配符可能导致索引失效。

like查询以%开头,索引失效

查询条件不满足联合索引的最左匹配原则

MySQl建立联合索引时,会遵循最左前缀匹配的原则,即最左优先。
如果你建立一个(a,b,c)的联合索引,相当于建立了(a)、(a,b)、(a,b,c)三个索引。

在索引列上使用mysql的内置函数

例如 :Date_ADD()

对索引进行列运算

例如对索引列:,+、-、*、/

索引字段上使用is null, is not null

左右连接,关联的字段编码格式不一样

关联 a,b 查询。a 表的name字段编码是utf8mb4,而 b 表的name字段编码为utf8。

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~