Sql 中哪些情况可能不会走索引

文章讨论了数据库查询中索引未被有效利用的一些情况,包括全列选择(SELECT*)、索引列含NULL值影响COUNT(*)操作、函数操作符、隐式类型转换、选择大部分数据、不等条件以及LIKE和IN操作符的使用,这些都可能导致数据库优化器选择全表扫描而非索引扫描。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.查询谓词没有使用索引的主要边界,换句话说就是select *,可能会导致不走索引
2.单键值的b树索引列上存在null值,导致COUNT(*)不能走索引,索引列存在空值
3.索引列上有函数运算,导致不走索引
4.隐式类型转换导致不走索引
5.表的数据库小或者需要选择大部分数据,不走索引
6.!=或<不等于>,可能导致不走索引
7.表字段的属性导致不走索引,字符型的索引列会导致优化器认为需要扫描索引大部分数据且聚簇因子很大,最终导致弃用索引扫描而改用全表扫描方式
8.使用like,in等可能导致不走索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值