随机查询信息
SELECT * FROM `table`
WHERE id >= (SELECT floor(RAND() * (SELECT MAX(id) FROM `table`)))
ORDER BY id LIMIT 1;
最后,再把语句完善一下,加上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;
最后在php中对这两个语句进行分别查询10次,
前者花费时间 0.147433 秒
后者花费时间 0.015130 秒
看来采用JOIN的语法比直接在WHERE中使用函数效率还要高很多
分享到:
相关推荐
随机查询数据库复制代码 SET STATISTICS TIME ON SET STATISTICS IO ON SELECT TOP 50 [id] FROM [dbo].[RANDTEST] GROUP BY ID ORDER BY NEWID() SET STATISTICS TIME OFF SET STATISTICS IO OFF
主要为大家分享下1亿条记录的MongoDB数据库随机查询性能测试结果,需要的朋友可以参考下
Access数据库随机抽取记录条数.zip
本文实例讲述了PHP实现在数据库百万条数据中随机获取20条记录的方法。分享给大家供大家参考,具体如下: 额,为什么要写这个? 在去某个公司面试时,让写个算法出来,当时就蒙了,我开发过程中用到算法的吗?又不是...
ajax_数据库中随机读取5条数据动态在页面中刷新,可以学习一下
order by newid() 各种数据库随机查询的方法,需要的朋友可以参考一下
②Mysql数据库与java连接、题目的随机生成、界面切换、循环依赖都是如何设计和实现的。 阅读建议:此资源以开发随机出题系统学习其java GUI原理和内核,不仅是代码编写实现,也更注重内容上的需求分析和过程理解,...
使用VB做的系统,有连接数据库,实现随机点名,界面比较一般
主要介绍了四种数据库随机获取10条数据的方法,需要的朋友可以参考下
提出一种数据库中文件夹的整体存储和随机访问方法。将文件夹打包成连续的文件数据块和目录结构对象,序列化目录结构对象为目录结 构数据块,保存文件数据块和目录结构数据块至数据库的BLOB 列。访问数据库文件时,...
这2个函数实现了随机选择数据库中的题目,只需要读入界面端的每章题目数量,并按顺序排列,则可以从数据库中选择出所需要的题目的ID
33 MySQL数据库的日志顺序读写以及数据文件随机读写的原理.pdf
随机得到Access数据库记录【孟宪会之精彩世界】
CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本方式实现数据库随机自动启动!
由于使用ADO访问Access数据库会有缓存,这在随机提取数据库数据时,将得不到随机记录,本文举例子介绍了克服这一缺陷,实现数据库的随机读取的方法。
组要介绍的是用关于在对数据库操作中用sql语句来产生随机数(包括随机整数) 这样的方法可用在很多方面如 在线随机考试等
向数据库插入随机n个用户的代码,sqlserver代码
数据库查询排序使用随机排序结果示例,这里提供了Oracle/MySQL/MS SQL Server三种数据库的示例
如何从数据库中随机取出10条记录的方法