优化长查询(也使用rand()的顺序)

时间:2013-10-07 09:35:52

标签: mysql

我有一个看起来像的查询:

SELECT picture_path, profile_picture, username FROM users
WHERE profile_picture IS NOT NULL
AND settings LIKE '1,%' 
AND  last_visit BETWEEN CURDATE() - INTERVAL 9 DAY AND CURDATE() 
AND signup_date < CURDATE() - INTERVAL 10 DAY 
ORDER BY RAND()
LIMIT 15");

此查询可能很慢,我希望尽可能优化它。

我是否应该为此查询中使用的所有字段建立索引(它们的多个索引都在一起?)

ORDER BY RAND()最有可能减慢查询速度吗?你会推荐什么选择?

数据库中有大约700,000条记录。

当我解释查询时,我得到http://screencast.com/t/Opdx3fJ80

0 个答案:

没有答案