最近,我为调查开发了一个非常简单的网络应用程序。我使用MySQL来存储我的数据。每个用户从数据库表中“随机”获取一个问题。我需要知道索引是否有助于提高检索性能,而“SELECT”每次选择随机记录。 感谢
这是我正在使用的SQL命令:
'SELECT * FROM iens2.review_phrases ORDER BY RAND() LIMIT 1'
答案 0 :(得分:1)
如果您的“随机”数字是问题序列列的序列号(没有间隙),那么索引该序列列肯定有帮助:
WHERE question.sequence_no = :rand
如果你只是
ORDER BY RAND()
然后一个索引无法帮助。与
ORDER BY id
LIMIT 1 OFFSET :rand
order by子句的字段索引会有所帮助,但性能仍然比按序列号访问问题更糟糕
答案 1 :(得分:0)
是的,索引肯定有助于你。这会提高性能
答案 2 :(得分:0)
这会有所帮助,随机选择它们需要在某个时刻获取数据,这些索引适用于。