mysql之SQLite 中的 LIKE(甚至 MysQL)

zengkefu 阅读:1005 2023-08-24 23:31:47 评论:0

LIKE 关键字会使用 SQLite 和/或 MySQL 中的索引吗?

我会理解通配符匹配可能不会使用索引,但是以比较开头的情况如何?

请您参考如下方法:

这取决于:

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 有允许在所有情况下使用索引的技巧,但 MySQL 和 SQLite 没有。


标签:mysql
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

全民解析

全民解析

关注我们