时间:2021-05-26
本文实例讲述了PHP实现在数据库百万条数据中随机获取20条记录的方法。分享给大家供大家参考,具体如下:
额,为什么要写这个?
在去某个公司面试时,让写个算法出来,当时就蒙了,我开发过程中用到算法的吗?又不是大数据开发,分析。
今天偶然想起来一个坑爹数据,如:PHP取百万条数据中随机20条记录,当时就用的算法。
1.先统计统计数据库多少条记录(这个做个数据缓存,如1小时重新统计一次),
2.根据总条数,随机1次,1次性取出20条记录(当然这个就相当于分页了,要求不高的话,这个最快,我用的就是这个);
还有一种方法,随机20次,重复执行20次。
例如:
$sum=800000;//得到总条数//循环取数据for($i=1;$i<=20;$i++){ $offset=mt_rand(1,$sum); //控制重复对比的,请自行实现 //数据库取数据的,请自行实现 $sql="select * from table limit $offset,1"; echo $sql;}当然还有其他随机方法,如:https://www.jb51.net/article/18299.htm
PS:这里再为大家提供一款功能类似的在线工具供大家参考:
在线随机数字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
高强度密码生成器:
http://tools.jb51.net/password/CreateStrongPassword
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一.建立数据库Liezui_TestIDint主键自增Titlevarchar(100)ReadNumint二.向数据库中插入100万条数据declare@ii
php使用数组array_rand()函数进行高效随机抽取指定条数的记录,可以随机抽取数据库中的记录,适合进行随机展示和抽奖程序。该算法主要是利用php的arr
四种数据库随机获取10条数据的方法SQLServer:复制代码代码如下:SELECTTOP10*FROMT_USERORDERBYNEWID()ORACLE:复
前言最近做项目的时候需要导入一批3000多万条的POI数据到Oracle数据库,简单的插入导入速度太慢,使用sqlldr批量导入3000多万条数据花了20分钟左
在数据库查询的时候,我们有时有这样的需求,就是要找出数据表里指定范围行内的数据记录,比如说要找出数据表里第10行到第20行的这10条数据,那么我们怎么来实现呢?