我会理解通配符匹配可能不会使用索引,但是如何从比较开始?
WHERE field1 LIKE 'test' << can use index WHERE field1 LIKE 'test%' << can also use index WHERE field1 LIKE '%test' << cannot use index WHERE field1 LIKE '_test' << cannot use index
只要通配符在开头,就不能使用索引.如果在通配符之前有固定数据,则可以使用索引.
像Postgresql这样的db有一些技巧可以在所有情况下使用索引,但MysqL和sqlite却没有.