在mysql中查询5条不重复的数据,使用以下:
复制代码 代码如下:
SELECT * FROM `table` ORDER BY RAND() LIMIT 5
就可以了。但是真正测试一下才发现这样效率非常低。一个15万余条的库,查询5条数据,居然要8秒以上
搜索Google,网上基本上都是查询max(id) * rand()来随机获取数据。
复制代码 代码如下:
SELECT *
FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `table`)) AS id) AS t2
WHERE t1.id >= t2.id
ORDER BY t1.id ASC LIMIT 5;
但是这样会产生连续的5条记录。解决办法只能是每次查询一条,查询5次。即便如此也值得,因为15万条的表,查询只需要0.01秒不到。
上面的语句采用的是JOIN,mysql的论坛上有人使用
复制代码 代码如下:
SELECT *
FROM `table`
WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `table` )
ORDER BY id LIMIT 1;
我测试了一下,需要0.5秒,速度也不错,但是跟上面的语句还是有很大差距。总觉有什么地方不正常。
于是我把语句改写了一下。
复制代码 代码如下:
SELECT * FROM `table`
WHERE id >= (SELECT floor(RAND() * (SELECT MAX(id) FROM `table`)))
ORDER BY id LIMIT 1;
这下,效率又提高了,查询时间只有0.01秒
最后,再把语句完善一下,加上MIN(id)的判断。我在最开始测试的时候,就是因为没有加上MIN(id)的判断,结果有一半的时间总是查询到表中的前面几行。
完整查询语句是:
复制代码 代码如下:
SELECT * FROM `table`
WHERE id >= (SELECT floor( RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id) FROM `table`)) + (SELECT MIN(id) FROM `table`)))
ORDER BY id LIMIT 1;
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 1;
最后对这两个语句进行分别查询10次,
前者花费时间 0.147433 秒
后者花费时间 0.015130 秒
看来采用JOIN的语法比直接在WHERE中使用函数效率还要高很多。
相关推荐:
seo逻辑是什么,seo思路 ,语音主播怎么ai写作业
AI写作免费一键生成5000字:高效创作的革命性工具
用AI写文,开启创作新时代
SEO而且:打造高效网站流量增长的秘密武器,滨江网站推广营销
ChatGPT免费版每天提问有次数限制吗?揭秘如何高效使用AI助手!,机甲ai手绘
优化整站,让网站飞速增长,打造行业竞争力,广东网站建设与维护
SEO详解:如何优化你的网站提升排名,获得更多流量,伊春湖南网站优化推广
ChatGPT的超链接点不开?解决方法一网打尽!,情感ai写作指令是什么
BingAdapter设置数据后没有显示数据?解决方案在这里!,ai中如何把图变形
WPJam:打破网站管理的壁垒,打造极致用户体验,广东谷歌seo工具
seo组建需要什么条件,seo建站的步骤 ,ai肌肉宝宝
SEO优化如何为网站做好关键词研究和优化,ai直通
OpenAI智能诊断医疗-开启精准医疗新纪元,跟侯维静学ai
自动AI写文章:轻松创作时代的全新利器
ChatGPT:我目前无法查看或解析附件,您是否遇到过这样的困扰?,ai+燃烧
ChatGPT打不开网页?看完这篇你就懂了!,国内ai写作安卓软件
seo渠道优化是什么,seo渠道推广怎么做 ,ai121333
ChatGPT出问题?背后的原因与解决方案,夸克ai写作生成
代哥SEO-让您的网站迅速登顶搜索引擎的秘密武器,济南关键词的排名优化
为什么网站要做seo,网站做seo的目的是什么 ,ai初选
AI通过算法和数据生成的作品:科技与艺术的跨越,带来无限创意可能,ai优化程序
SEO找出网站流量提升的终极策略,带你走向搜索引擎巅峰!,朝阳模板网站建设价格
seo需要会什么技术呢,seo需要会什么技术呢知乎 ,红色框ai
ChatGPT出现错误503?你需要知道的解决方案和应对策略,ai拉伸字效
软件AI的全称:人工智能驱动未来的关键力量
seo链接锚是什么,什么是锚链接,如何设置锚链接 ,保山智能AI
SEO差价如何用SEO优化帮助企业实现成本与效益的完美平衡,盐城seo收费贵吗
seo需要什么器械,seo需要什么器械才能做 ,长续航ai纯电汽车
ChatGPT打不开了吗?如何快速解决常见问题,恢复顺畅体验!,ai13212511845
GPT怎么收费?揭秘AI技术的定价与价值,ai报考高考
优化分析:提升企业效益的关键策略,山东大网站建设
ChatGPT使用问题?如果您正在使用VPN,请尝试将其关闭,ai制作渐变立体
如何用AI改文章,让写作更高效、精准,提升内容质量
为什么做酒店seo,为什么做酒店 ,ai uehara下载
ChatGPT+维护页面:您的智能助手之旅,安全、高效、无忧,奥特曼画图ai
ChatGPT宕机恢复时间如何解决用户焦虑与技术背后的故事,ai人工智能写作火山
ChatGPT显示503:如何应对AI服务不可用的困境?,ai宝贝宝贝
AI生成文章免费工具,让创作变得轻松又高效,ai安心健
seo词库优化,搜索词条优化 ,ai点选择
高效创作之路:文章AI生成器的力量
SEO查看-如何通过精确分析提升网站流量与排名,东丽网站建设价格
SEO在广告领域的深度解析:如何利用SEO提升广告效果,网文写作ai工具
SEO分类中内部优化的有:让你的网站脱颖而出!,by ai
OpenAIGPTChatSoraOpenAIChatGPT服务在中断数小时后已恢复,ai视图线稿
SEO已经成为数字营销的核心,如何利用SEO提升网站流量和转化率,含山网站优化推广
SEO基础知识解析:如何提升网站排名,助力企业成长,毕节企业建设网站
ChatGPT宕机两小时,OpenAI紧急修复,用户期待AI恢复正常服务,oppo小布ai
URL站长的崛起:打造高效网站运营的秘密武器,网站建设费用计算依据
SEO调整,助力网站流量爆发式增长!,江都seo优化排名
SEO功能:助力网站流量提升与品牌曝光,天津公司网站建设与维护