相关疑难解决方法(0)

group by和group concat,优化mysql查询,无需使用main pk

我的例子是MYSQL VERSION是5.6.34-log

问题总结下面的查询需要40秒,ORDER_ITEM

  • 758423条记录

    付款

  • 177272条记录

submission_entry

  • 2165698条记录

    作为一个表计数.

详情在这里:下图:

  • 我有这个查询,请参阅[1]

  • 我在重新 查询时添加了SQL_NO_CACHE来测试重复测试
    .

  • 我有优化的索引参考[2],但没有明显的
    改进.

  • 在这里查找表结构[3]

  • 查找使用的解释计划[4]

[1]

     SELECT SQL_NO_CACHE
          `payment`.`id`                                                                                    AS id,
          `order_item`.`order_id`                                                                           AS order_id,


          GROUP_CONCAT(DISTINCT (CASE WHEN submission_entry.text = '' OR submission_entry.text IS NULL
            THEN ' '
                                 ELSE submission_entry.text END) ORDER BY question.var DESC SEPARATOR 0x1D) AS buyer,


          event.name                                                                                        AS event,
          COUNT(DISTINCT CASE …
Run Code Online (Sandbox Code Playgroud)

mysql database query-optimization

6
推荐指数
1
解决办法
224
查看次数

标签 统计

database ×1

mysql ×1

query-optimization ×1