最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
sql order by rand随机数据优化与性能对比
时间:2022-11-14 23:37:18 编辑:袖梨 来源:一聚教程网
测试环境
apache2.2/php5.2/mysql5
测试数据
15W+数据,数据表大小600MB
测试语句
最初使用的是 order by rand()了,发现几万条数据居然要10秒之长的时间很是悲剧吧
| 代码如下 | 复制代码 |
|
SELECT * FROM `表名` order by rand() |
|
显示行 0 - 29 (154,825 总计, 查询花费 10.1125 秒)
后来网上搜索到如下方法,同样数据感觉有很大的提高了(这里测试的是15W数据)
| 代码如下 | 复制代码 |
|
SELECT * FROM 表名 WHERE id >= ((SELECT MAX(id) FROM 表名)-(SELECT MIN(id) FROM 表名)) * RAND() + (SELECT MIN(id) FROM 表名) LIMIT 10 |
|
显示行 0 - 29 (154,825 总计, 查询花费 0.0221 秒)
感觉不错了,有朋友说用join可能更好,于时找了一段代码测试一下查询花费 0.0025 秒,又提供了几倍呀。
| 代码如下 | 复制代码 |
|
SELECT * |
|
显示行 0 - 9 (10 总计, 查询花费 0.0025 秒)
最后还可以优化一下
| 代码如下 | 复制代码 |
|
SELECT s_url,title |
|
显示行 0 - 9 (10 总计, 查询花费 0.0008 秒)
总结一下,我们如果用同样的方法在字段选择时越少越好,这不从0.0025直接降到0.0008秒了哦。
相关文章
- 新三国志曹操传马超无双试炼四通关攻略 12-15
- 俄罗斯YANDEX引擎官网入口-免登录直达Yandex首页 12-15
- 漫蛙ManWa在线免费阅读入口_漫蛙ManWa官方网页版一键直达 12-15
- 逃离鸭科夫仓库区地窖在哪 仓库区地窖入口位置详情 12-15
- 光与影33号远征队熙艾尔bd玩法:熙艾尔毕业装备与加点思路介绍 12-15
- 漫蛙网页版免费入口进不去-漫蛙网页版最新免费版一键直达 12-15