クエリを少し速く実行するために何かできることがあるかどうか疑問に思っていますか?
私はこのクエリを持っています:
SELECT * FROM posts
WHERE posts.exists = 'n'
ORDER BY posts.ratecount DESC
LIMIT 0,100
テイク:2.47s @ 0,100 | 6.18s @ 500,100
これは機能しますが、制限が増えるとかなり遅くなる傾向があります(100,100> 200,100など)。
インデックスを使用することも役に立たないようです:
SELECT * FROM posts
USE INDEX(ratecount_ca)
WHERE posts.exists = 'n'
ORDER BY posts.ratecount DESC
LIMIT 0,100
テイク:8.59s @ 0,100 | 28.98s @ 500,100
不思議なことに、それが完璧に機能する場所がなければ。
降順のインデックスで問題が解決する可能性が高いですが、まだ実装されていないようであるため、別のオプションが必要です。注文後にWHEREを実行すると、ほとんどの場合、速度も向上しますが、SQLに慣れていないため、方法がわかりません:<