私がやろうとしているのは、このクエリを高速化することです。現在、約15秒以上遅いです。r.emailとv.sent、およびr.id、r.viewed 、 r.savedの両方にインデックスがあります。EXPLAIN は両方のキーが使用されていることを示していますが、使用していることがわかりますUsing where; Using temporary; Using filesort
。
このクエリを改善するためのアイデアはありますか?
SELECT r.id, r.top, r.email
FROM request as r
WHERE r.viewed = 0 AND r.saved = 0 AND r.email NOT IN (
SELECT v.sent FROM viewing as v WHERE v.sent = r.email
)
GROUP BY r.email
ORDER BY r.top desc, r.date
LIMIT 100;