MySQL 用IN覆盖不在WHERE中的子句
用IN组合索引触发WHERE最左前缀
假如(sex,country,age),(sex,country,region,age)和(sex,country,region,city,age)
这样的组合索引,可以通过IN(),来重用索引而不是建立大量新的组合索引
这种技巧不能滥用
每额外增加一个IN()条件,优化器需要做的组合都将以指数形式增加
优化器则会转化成 4*3*2 这种组合,如果真实数据的组合数达到上千则需要特别小心
论读书
睁开眼,书在面前 闭上眼,书在心里
睁开眼,书在面前 闭上眼,书在心里