【发布时间】:2010-12-07 05:38:35
【问题描述】:
基本上,我正在尝试从数据库中提取用户尚未响应的随机民意调查问题。这个查询大约需要 10-20 秒来执行,这显然是不行的!响应表大约有 30K 行,数据库也有大约 300 个问题。
SELECT questions.id
FROM questions
LEFT JOIN responses ON ( questions.id = responses.questionID
AND responses.username = 'someuser' )
WHERE
responses.username IS NULL
ORDER BY RAND() ASC
LIMIT 1
问题和响应表的 PK 是“id”,如果这很重要的话。
任何建议将不胜感激。
【问题讨论】:
标签: sql mysql optimization