mysql - 在Mysql中为字符串和日期时间创建索引

标签 mysql indexing

我有一张 table ,里面有将近 10 个磨机。行,它包含引用 (varchar20)date_created(datetime) 列。该表在这些列上有两个索引。

通过检查 Slow_queries 日志,我们检测到一个非常非常慢且经常使用的查询:

...WHERE reference LIKE '%SOME_TEXT%' ORDER BY date_created

现在必须改进查询时间。

我读到最好的方法是在这些列上建立多个索引,如下所示:

create index ref_date on my_table (reference, date_created)

但我想知道是否有更好的方法来创建此索引或设置特定的索引类型以使其完美适合上述查询。

非常感谢你们,伙计们!

最佳答案

正如您所建议的,我们删除了起始通配符,现在搜索速度更快。 我们还在数字列中添加了一些索引,提高了整体性能。谢谢大家!

关于mysql - 在Mysql中为字符串和日期时间创建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48115063/

相关文章:

php - 从 MySql 数据库中获取值/行

mySQL 未选择具有 MAX 日期的行的值

php - 如何在 WHERE 的子查询中正确使用 JOIN 条件?

indexing - 软删除 - 使用 IsDeleted 标志还是单独的连接表?

excel - 选择直到不等范围

mysql - 具有多种数据类型的闭包表?

python - 在 Django 中,如何查找属于字符串一部分而不是包含该字符串的术语?

indexing - 如果单元格中包含另一个表上的值,则 INDEX MATCH 的 TEXTJOIN 唯一值

MySQL 在索引中使用自定义字符串比较运算符

indexing - Fortran - 逻辑索引