【问题标题】:Mysql Explain Query show type “ALL”Mysql解释查询显示类型“ALL”
【发布时间】:2014-08-18 07:56:05
【问题描述】:
SELECT id FROM raod_busroute 
WHERE from_des LIKE '%adheriya khal%' AND to_des LIKE
'%abhayapuri%' GROUP BY from_des"

当我查看结果时,我看到它读取整个表格——所有行和列。我知道这很糟糕,但我不知道如何解决。

谢谢

【问题讨论】:

  • edit您的问题并添加explain结果。
  • 使用通配符作为LIKE '%adheriya khal%' 将永远不会使用索引,即使列from_des 已编入索引。因此优化器最有可能扫描整个表。

标签: mysql explain


【解决方案1】:

因为您在字符串开头使用通配符进行查找,mysql 无法使用您的索引(如果有的话)。它需要进行全表扫描。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多