MySQL随机获取10条数据-多种方式对比
MySQL随机获取10条数据-多种方式对比
IT袋网网为你介绍MySQL随机获取10条数据-多种方式对比的IT小经验,下面来一起了解一下吧。
在日常的开发工作中,我们经常会遇到从数据库中随机获取几条数据的情况。
常用的方式是使用MySQL的ORDER BY RAND()语句来随机获取数据,该语句来获取随机数据,可能会对性能产生一定的影响,特别是在数据量较大的情况下。
因此,在实际应用中,我们需要根据具体情况进行权衡和优化。

随机取数的场景
随机展示数据
如果你有一个数据表存储了用户的信息,你可以使用随机获取数据的方式来展示一些用户的信息,增加页面的趣味性和多样性。
随机推荐
如果你有一个商品表,你可以使用随机获取数据的方式来推荐一些商品给用户,增加用户的购买兴趣和体验。
随机抽奖
如果你有一个参与抽奖的用户表,你可以使用随机获取数据的方式来选择中奖用户,确保公平性和随机性。
随机排序
如果你有一个文章表,你可以使用随机获取数据的方式来对文章进行随机排序,增加用户的阅读体验和发现性。
模拟测试数据
增加数据库表
这里新建一张users表,只有id、name、age、email几个字段;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
age INT,
email VARCHAR(100)
);
增加存储过程
为了方便演示,能够区别出不同的SQL查询出来的效率,这里使用存储过程,批量写入300万条数据
DELIMITER //
CREATE PROCEDURE execute_sql_loop()
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 3000 DO
INSERT INTO users (name, age, email)
SELECT
CONCAT('user', UUID_SHORT()) name,
FLOOR(RAND() * 100) age,
CONCAT('user', UUID_SHORT(), '@example.com') email
FROM (
SELECT t1.*
FROM
(SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10) t1,
(SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10) t2,
(SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10) t3
) tt;
SET i = i + 1;
END WHILE;
END //
DELIMITER ;
调用存储过程
CALL execute_sql_loop();
几种方式效率对比
CALL execute_sql_loop();测试表有 300 万条数据,各个SQL的执行效率如下
相关阅读
-
苹果11和11pro区别大吗 关于苹果公认最好的手机
今天分享:苹果11和11pro区别大吗和关于苹果公认最好的手机方面的知识,继续往下看吧! 上个月,苹果给我们带来iPhone 11系列,相比去年的iPhone,外观区别不大,不过性能、拍照提升明显,也
-
防火墙的作用有哪些 详解防火墙和路由器的区别
小编为你介绍防火墙的作用有哪些和详解防火墙和路由器的区别的相关介绍,相关内容具体如下: 1.防火墙的概念和特征 防火墙概念 所谓“防火墙”是指一种计算机硬件和软件的结合,将内
-
2022voc指纹锁推荐排行榜 voc指纹锁哪款好
现在的人基本上都会安装指纹锁,但是有的人喜欢指纹锁品牌voc,那voc指纹锁哪款好?下面为大家带来2022voc指纹锁推荐排行榜,一起来看看吧~ VOC指纹锁X6 价格:1199元 这款VOC指纹锁X6,它采用
-
宽带拨号和自动获取ip哪个好用 详解pppoe和自动获取ip的区别
如果想了解宽带拨号和自动获取ip哪个好用和详解pppoe和自动获取ip的区别的IT知识,一起跟随小编看看吧! 前两天有粉丝问杨哥,路由器上网方式选哪个好?路由器上网方式自动获取还是拨号


