小编Sel*_*ity的帖子

MySQL缓慢分组/顺序

以下查询相对较慢(0.7秒,约6k行)

SELECT items.*, COUNT(transactions.ID)
   FROM items
  INNER JOIN users ON (items.USER = users.ID)
   LEFT JOIN transactions ON (items.id = transactions.item)
  WHERE items.ACTIVE = 1
    AND items.DELETED_AT IS NULL
  GROUP BY items.ID
  ORDER BY items.DATE DESC
  LIMIT 20
Run Code Online (Sandbox Code Playgroud)

但是当按items.ID DESC而不是items.DATE排序时,速度会急剧加快.事务连接是一个大表(~250k行)并且是一对多的.日期列有一个索引.

有没有办法一般性地提高ORDER BY的性能?

编辑:items.user,transactions.item和items.date上的索引.项目有49列,用户76和事务17.

mysql performance join sql-order-by

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

标签 统计

join ×1

mysql ×1

performance ×1

sql-order-by ×1