小编Wig*_*tag的帖子

是否可以索引 ORDER BY 中使用的计算列?

由于未正确编写查询,我的 mysql 服务器出现问题。我没有使用索引,因为我不知道如何在具有SELECT COUNT(*) AS b ... ORDER BY b.

看起来不可能,所以如果确实不可能,我如何重新管理我的查询?

SELECT COUNT(downloaded.id) AS downloaded_count
    , downloaded.file_name
    ,uploaded.* 
FROM `downloaded` JOIN uploaded 
ON downloaded.file_name = uploaded.file_name 
WHERE downloaded.completed = 1
AND uploaded.active = 1 
AND uploaded.nsfw = 0 
AND downloaded.datetime > DATE_SUB(NOW(), INTERVAL 7 DAY) 
GROUP BY downloaded.file_name 
ORDER BY downloaded_count DESC LIMIT 30;
Run Code Online (Sandbox Code Playgroud)

解释

+----+-------------+------------+------+---------------+-----------+---------+--------------------------+------+----------------------------------------------+
| id | select_type | table      | type | possible_keys | key       | key_len | ref                      | rows | Extra                                        |
+----+-------------+------------+------+---------------+-----------+---------+--------------------------+------+----------------------------------------------+ …
Run Code Online (Sandbox Code Playgroud)

mysql index

4
推荐指数
1
解决办法
7448
查看次数

标签 统计

index ×1

mysql ×1