【发布时间】:2009-05-22 20:30:40
【问题描述】:
在 Rails 应用程序中,我使用它从 MySQL 表中获取随机行:
contact = Contact.find(:all, :limit => 1, :order => 'RAND()')[0]
即使该表只有大约 20,000 行,也需要几秒钟的时间。有人知道更快的方法吗?
更新
还尝试在控制台中运行 SQL...
SELECT * FROM `contacts` ORDER BY RAND() LIMIT 1
这仍然需要很长时间,比如两三秒。
【问题讨论】:
标签: sql mysql ruby-on-rails ruby