我有这样的疑问
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);