首页 > 试题广场 >

下列哪些情况可能会导致数据库索引失效?

[不定项选择题]
下列哪些情况可能会导致数据库索引失效?
  • 查询条件中使用了OR操作符
  • 在索引列上使用了DESC排序
  • 查询条件中使用了IN操作符
  • 查询条件中对索引字段使用了LIKE 'xxx%'
  • 查询条件中使用了!=或<>操作符
  • 查询中使用了UNION ALL 
1. 不要给经常修改的字段建索引 insert、update、delete 2. 不要给区分度低的字段建索引 比如性别、状态(0/1) ​ 3. 不要建太多索引 4. 最左前缀原则 联合索引 (a,b,c),查询必须从左开始连续匹配,否则索引失效。 5. 避免索引失效的常见情况 ​ - 对索引列运算、函数、类型转换 ​ - 使用 !=、<>、is not null ​ - like %xxx(以通配符开头) ​ - or 两边有一个不是索引 ​ 6. 优先给经常用于 where、order by、group by 的字段建索引 ​ 7. 大表才需要建索引 ​ 8. 主键索引 & 唯一索引 ​ - 主键:非空、唯一、一张表一个 ​ - 唯一索引:允许 NULL,可多个
发表于 2026-03-07 23:24:12 回复(0)
B 选项,8.0之前,没有降序优化,8 .0之后,有降序优化了。所以在8之前,我们如果要desc 的话,最好加上降序索引, 8 之后就不用了
E 选项,一般 != 的执行计划是 全表扫描,只有在数据量小的时候,才会走索引,并且过滤(!=)掉不符合的值
发表于 2026-02-02 19:45:34 回复(0)