我有这样的疑问

SELECT VID, title, duration, addtime, thumb, thumbs,
viewnumber, rate, likes, dislikes, type, hd
FROM video WHERE active = '1' AND type = 'public'
ORDER BY addtime DESC
LIMIT 2052, 36;

当我使用heidisql运行explain时,结果是:
/* Affected rows: 0  Found rows: 1  Warnings: 0  Duration for 2 queries: 0.999 sec. */
Using index condition; Using where; Using filesort

里面有文件排序,对性能有什么影响吗?如果是的话,怎么摆脱呢?

最佳答案

当按索引顺序读取的行与您请求的查询不匹配时,MySQL使用文件排序。
在显示的示例查询中,可以通过添加以下索引来避免文件排序:

ALTER TABLE video ADD INDEX (active, type, addtime);

08-28 03:27