【问题标题】:Mysql query exicution time is too slowmysql查询执行时间太慢
【发布时间】:2014-02-14 06:04:20
【问题描述】:

SELECT * FROM articles t 左外连接 category_type category ON (t.category_id=category.id) WHERE (t.status = 6 AND t.publish_on

执行此查询需要 1.5 秒以上。

你能给我一些想法吗?如何改进此查询和最短执行时间?

【问题讨论】:

  • 添加索引可能会有所帮助,您可以编辑和添加表结构以及explain 输出

标签: php mysql sql


【解决方案1】:

第一件事 => 使用 where 而不是 inner join。因为whereinner join 查询要快。

第二件事 => 将indexes 用于frequently searched columns。在您的示例中,您根据状态进行搜索,publish_on 除了 id 为primary index

【讨论】:

    【解决方案2】:

    如果您使用的是 mysql,那么您可以尝试在 phpmyadmin 中提出表结构选项,它可以帮助您确定列名的有效数据类型。这可以帮助您优化查询处理。

    查询处理时间取决于许多因素,例如:数据库服务器负载、表中的数据量以及用于列名的数据类型。

    【讨论】:

      【解决方案3】:

      为什么要加入分类表呢?分类表既不在where子句中,也不在select列子句中,为什么要在查询中加入呢?

      哎呀,使用了 *,所以它在类别表中“是”

      道歉

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-10
        • 2014-01-27
        • 1970-01-01
        • 1970-01-01
        • 2014-08-17
        • 2013-08-14
        • 2011-10-08
        相关资源
        最近更新 更多