博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 随机分页的优化
阅读量:4211 次
发布时间:2019-05-26

本文共 303 字,大约阅读时间需要 1 分钟。

SET @a=(SELECT FLOOR(RAND() *(SELECT COUNT(*) FROM table_a)/10000)); # 取随机页

SELECT b.* 

FROM 
(
    SELECT recordid
    FROM 
    (
        SELECT recordid FROM table_a 
        LIMIT @a,10000 # 取随机页id,
        # 此处注意,limit 只能用常量,所以@a传递不了。只能和上面查询分别执行两次
    ) AS a 
    ORDER BY RAND()
    LIMIT 10 #页内二次随机
) a 
JOIN table_a b #取数据
    ON a.recordid=b.recordid
;

转载地址:http://hpfmi.baihongyu.com/

你可能感兴趣的文章
innodb 优化
查看>>
spark-shell到sparkcontext的过程
查看>>
每个cpu有一个16byte的中断栈
查看>>
vdso支持四个系统调用
查看>>
sparkcontext中环境变量的读取和保存
查看>>
signal的优先级高于系统调用
查看>>
spark应用程序的提交
查看>>
spark job提交
查看>>
spark job提交2
查看>>
spark job提交3
查看>>
spark job提交4
查看>>
spark job提交5
查看>>
spark job提交6
查看>>
veth pair
查看>>
git 删除远程tag
查看>>
spark job提交7
查看>>
基于当前系统制作docker镜像
查看>>
没有loop 设备
查看>>
dstat的插件
查看>>
vhe
查看>>