面试题答案
一键面试- 索引列不重复值个数较多时:
- 优点:索引区分度高,能快速定位到具体数据行。例如在用户表中,以身份证号作为索引列(不重复值多),当查询特定身份证号的用户信息时,通过索引可精准且高效地定位到对应的记录,大幅减少扫描的数据量,提升查询性能。
- 缺点:若索引列过长,会占用较多磁盘空间,并且在插入、更新和删除操作时,维护索引的开销增大,可能影响这些操作的性能。
- 索引列不重复值个数较少时:
- 优点:占用的索引空间相对较小,对于某些统计类查询,如按性别统计用户数量(假设性别为索引列,不重复值仅男、女两种),索引可以快速汇总数据,有一定优化作用。
- 缺点:索引区分度低,可能导致索引失效。例如查询某性别用户时,MySQL 可能认为全表扫描成本更低,而不使用索引,从而降低查询性能。在多列索引中,若此列不重复值少,还可能影响整个索引的使用效率。