社区
基础编程
帖子详情
请教大家关于mysql的order By Rand()问题
Jim@luckeeinc.com
2011-02-25 11:17:01
我查询的结果有170万比 数据
是几个表关联出来的 关联出来后随即取里面的10笔 我用order By Rand() limit 10 效率很低
请教各位 是否有别的写法 谢谢
...全文
203
3
打赏
收藏
请教大家关于mysql的order By Rand()问题
我查询的结果有170万比 数据 是几个表关联出来的 关联出来后随即取里面的10笔 我用order By Rand() limit 10 效率很低 请教各位 是否有别的写法 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
life169
2011-02-25
打赏
举报
回复
如果 查询出来的集合有一个字段是连续的就好办了
select max(xx) as xx,min(yy) as yy........
然后$arr = rand(yy,xx);
然后 再select ...... where xxid id implode($arr)
Jim@luckeeinc.com
2011-02-25
打赏
举报
回复
这个我看过 不过他是对单表操作的
如果我是几个表关联后用的 order by rand()
比如
select A.a1, A.a2, A.a3, B.b1, B.b2, C.c1
from A
left join B on....
left join C on....
where ....
order by rand() limit 10
这个怎么写?
junchen168168
2011-02-25
打赏
举报
回复
[1]普通方法, 效率太低
SELECT * FROM table ORDER BY rand() LIMIT 10;
[2] JOIN的方法:
SELECT *
FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`) – (SELECT MIN(id) FROM `table`)) + (SELECT MIN(id) FROM `table`)) AS id) AS t2
WHERE t1.id >= t2.id
ORDER BY t1.id LIMIT 10;
mysql
rand
问题
_
mysql
优化之6:千万不要
ORDER
BY
RAND
(),
MySQL
会不得不去执行
RAND
()函数(很耗CPU时间)...
本文探讨了
MYSQL
中使用
ORDER
BY
RAND
()带来的性能
问题
,并提供了一种高效的替代方案来实现数据随机排序,避免了对数据库性能的负面影响。
MySQL
的
Order
By
Rand
()的效率
问题
本文探讨了在
MySQL
中高效获取随机数据的方法,通过对比不同查询语句的效率,最终提出了一个性能优越的解决方案,显著提高了查询速度。
MYSQL
随机抽取查询
MySQL
Order
By
Rand
()效率
问题
本文探讨了
MySQL
中随机抽取查询的效率
问题
,对比了使用
RAND
()函数和不使用
RAND
()函数的方法,并通过实验证明了使用JOIN语法在WHERE子句中随机获取数据的高效性。
关于
mysql
的
order
by
rand
()
本文探讨了在
MySQL
中使用
RAND
()函数进行随机排序的方法及其性能
问题
,并提出了针对大数据表使用
ORDER
BY
RAND
()结合LIMIT指令来获取随机样本的具体技巧。
基础编程
21,889
社区成员
140,337
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章