查询:
SELECT a, b, c FROM table WHERE a = .. and b like 'example%' and c = '..'
此查询是否使用索引(a,b,c)或(a,b)?
答案 0 :(得分:0)
对于甚至开始帮助此查询的覆盖索引,它必须是
a,c,b
这是因为查询需要a和c的特定单个值以及b的值范围(LIKE 'string%'
)。
复合BTREE索引随机访问特定的a,c值和起始b值。它扫描(在所谓的紧密扫描中)到最后符合条件的b值。
请注意
c,a,b
也会奏效。