MySQL的in语句和索引
2018-04-12 本文已影响0人
Nisus_Liu
背景: 根据身份证号list与
customer
表中(表记录1500万+)查询客户的个人信息数据. 当list长度达到某个长度时, 如49个, 查询效率瞬间降低一个量级. 当list在30±以内时, 毫秒级出数.
经研究发现: MySQL在in语句中个数较少时, 会走索引, 而达到已经长度时, 将全表扫描.

为什么呢?
关键是索引的类型
优化前索引是Normal
类型的.
优化策略是将其改为Unique
.
