Mysql使用通配符提高搜索性能(%%)

标签 mysql sql indexing query-optimization

以下是我用于通过电子邮件搜索某人的查询

  SELECT *
    FROM phppos_customers
    JOIN phppos_people ON phppos_customers.person_id = phppos_people.person_id
   WHERE deleted = 0
     AND email LIKE '%f%'
ORDER BY email ASC

在“电子邮件”上添加索引会加快查询速度吗?

最佳答案

不能,因为当你有前导通配符时,MySQL 将无法使用索引。如果您将 LIKE 更改为 'f%',那么它将能够使用索引。

关于Mysql使用通配符提高搜索性能(%%),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5905125/

相关文章:

mysql - 更新没有任何键/索引信息的大型 MySQL 表

java - 如何检查遍历是否已达到 Java 二维数组中的某个索引?

mysql - 从表 A 中选择,如果不存在则选择表 B

MySQL 在日期之间搜索,也在时间范围之间搜索

mysql - 在aws aurora mysql中获取连接查询的自动增量变量

sql - 有没有办法做一个唯一的引用

python - python中的for循环(简单)

ruby-on-rails - 使用 CanCan 将索引页面上的 View 限制为 user_id

python - 生产中的 django 和 mysql 设置

mysql - GROUP CONCAT 由于某种原因不工作