PHP-选择一个随机行,但赔率
|
我有一个行的数据集,每个行的’奇数’值都在1到100之间.我希望以最有效的方式做到这一点.赔率不一定等于100. 我有一些想法. 一种) 我希望将对数据库的影响降到最低,因此我考虑是否只能选择所需的行. b)
我认为LIMIT 0,1 但是,如果项目具有相同的概率,则只会返回之一 或者选择整个数据集并从中选择一个随机数据集…但是赔率会受到影响,因为它变成有几率的随机数,然后是没有几率的随机数,因此,几率倾向于较高的几率(甚至更多) . 我想我可以按赔率ASC排序,然后获取整个数据集,然后使用PHP从行中随机抽取一个赔率与第一条记录(最低)相同的行. 似乎是一个笨拙的解决方案. 有谁有出色的解决方案?如果不是以上哪一项最好? 最佳答案 做一些前期工作,在表中添加一些有助于选择的列.例如,假设您有这些行
我们添加一些累积值
选择开始和结束如下.第一行的起始位置为零.后续行的开头比上一行的结尾多一个.结束是(开始赔率-1). 现在选择一个介于0到Max(End)之间的随机数R
如果数据库足够聪明,我们也许可以使用
我推测具有索引的End列可能会提供更好的性能.同样,Max(End)可能会藏在某个地方,并在必要时通过触发器进行更新. 显然,更新“开始/结束”有一些麻烦.如果有一个,这可能还不错 >表格内容稳定 (编辑:烟台站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- php – Datetime的NOW()函数不适用于PDO-MYSQL预处理语句?
- MYSQL数据库MYSQL导入导出命令详解
- SQLite,多个应用程序可以同时访问单个数据库文件吗?
- 数据库中存储过程和触发器有什么区别
- 记一个 MySQL设计不合理地方:应用程序错误密码不断重连校验
- 详解Oracle数据库表空间设计--ASM/BFT/OMF综合使用
- 图解数据库脏读、不可重复读、幻读
- 高吞吐低延迟的 NoSQL 数据库——Scylla 3.0 发布
- 分析NoSQL比较火的三个数据库Memcached、Redis、MongoDB
- Jhipster – MySQL java.sql.SQLException:用户’root’@’

