2
A
回答
0
更快的替代方案的更快的方法是不要在查詢中使用RAND()
。在應用程序內部將您的結果進行混洗。
2
如果表格非常大,則在應用程序內部洗牌可能會非常緩慢。
這個怎麼樣的解決方案:
找出表的大小(多少行)。比編程方式找到0和number_of_rows
之間的6個隨機數。
用於搜索行的第二個查詢:
select * from table where id = id1 or id = id2...
+1
我認爲這是一個正確的想法,儘管您需要在事務中執行此操作,否則數據庫的大小可能會在count query和select之間增長 – frankc
相關問題
- 1. 使用WHERE IN子句按順序抓取行
- 2. Where子句的字段順序
- 3. 選擇「where子句」評估順序
- 4. 複合where子句的順序(MySQL,Postgres)
- 5. WHERE子句的順序影響結果
- 6. WHERE子句不按邏輯順序篩選
- 7. Where where子句順序對SQL查詢速度的影響
- 8. where子句mysql按相關性排序
- 9. EntityDataSource Where Where子句
- 10. R數據彙總與組WHERE子句
- 11. Linq Lambda Where子句在where子句中
- 12. 應用where子句
- 13. 使用WHERE子句
- 14. 在where子句中選擇行並保留文本順序
- 15. where子句中的條件的優先順序是什麼?
- 16. WHERE和ON子句執行的順序是什麼?
- 17. WHERE子句中分區列的順序是否重要
- 18. MySQL根據Where子句匹配的順序排列結果
- 19. 通過內部連接查詢的順序與where子句
- 20. Hibernate嵌套where子句中的順序由條款
- 21. 連接表的where子句中的操作數順序
- 22. 保留SQL中的WHERE IN()子句的順序SELECT
- 23. SQL Server where子句順序計數> 0
- 24. 計數和順序通過Where子句匹配
- 25. WHERE子句中的字段順序是否會影響性能?
- 26. 在SQL查詢的執行順序WHERE子句
- 27. WHERE子句中的邏輯處理順序或SQL標準
- 28. SQL中where子句的順序是否重要
- 29. 如何指定WHERE子句的評估順序?
- 30. 是否有oracle提示以特定順序執行where子句?
例如,他有50萬行,其全部選中,然後在應用洗牌? :) –
正確http://stackoverflow.com/questions/6592751/why-dont-use-mysql-order-by-rand – matino
數據庫可以做到這一點比內存代碼可以做到這一點快得多。所以,這似乎不是查詢的更快選擇。 –