php数据库随机选择,php – 在MySQL数据库中选择两个随机行
我有一个充满图像的数据库,我想吐出并显示两个随机图像.这段代码做得很好,但我不相信这是最好的方法,特别是如果数据库最终会有很多行.我已经研究过使用
MySQL的rand()函数并将其限制为两个结果,但是从我读过的内容来看,rand()在大型数据库上相对较慢.另一个问题是在双数据库查询中.是否有更好的方法可以通过img_id选择两个随机行?
img_id是一个auto_incremented行,但不能假设是连续的.
//get all image ids
$query = $conn->prepare('SELECT img_id FROM images');
$query->execute();
$result = $query->fetchAll();
//create an array in which to put all the ids
$list_imgs = array();
//put the ids into the array to search over
for ($x=0; $x < count($result); $x++) {
array_push($list_imgs, $result[$x]['img_id']);
}
//output two random images
for ($x=0; $x < 2; $x++) {
//create random index for search
$rand = array_rand($list_imgs);
//query to select one image
$query = $conn->prepare('SELECT title, file_loc FROM images WHERE img_id=?');
//random index value in array of img_ids
$query->execute(array($list_imgs[$rand]));
$result = $query->fetchAll();
echo 'title:' . $result[0]['file_loc'] . '';
}
任何提高查询效率的建议?
php数据库随机选择,php – 在MySQL数据库中选择两个随机行相关推荐
- 选择指定的MySQL数据库
<?php/*********************************** 功能:选择指定的MySQL数据库*********************************/ ?> ...
- Java数据库开发与应用之MySQL数据库、JDBC操作数据库、C3P0数据库连接池,Java反射等
MySQL数据库,JDBC接口,MyBatis框架等,掌握的数据的存放和管理. Java数据库开发基础,介绍MySQL数据库.JDBC操作数据库.C3P0数据库连接池,Java反射等内容,进行油画商城 ...
- mysql数据库导出最大值_4.6 MySQL数据库导入与导出攻略
4.6 MySQL数据库导入与导出攻略 4.6.1 Linux下MySQL数据库导入与导出 1. MySQL数据库的导出命令参数 主要是通过两个mysql和mysqldump命令来执行 (1) MyS ...
- [Qt教程] 第22篇 数据库(二)编译MySQL数据库驱动
[Qt教程] 第22篇 数据库(二)编译MySQL数据库驱动 楼主 发表于 2013-5-13 21:28:02 | 查看: 1616| 回复: 12 编译MyQSL数据库驱动 版权声明 该文章原创 ...
- php访问mysql数据库实验报告,php访问mysql数据库
//建一个连接,造一个连接对象 $db = new MySQLi("localhost","root","123","mydb&q ...
- mysql数据库服务器重启_重启mysql数据库服务器
Mysql错误代码大全 1016错误:文件无法打开,使用后台修复或者使用phpmyadmin进行修复. 1044错误:数据库用户权限不足,请联系空间商解决 1045错误:数据库服务器/数据库用户名/数 ...
- 从永远到永远-Navicat将MySQL数据库复制到另一个Mysql数据库
Navicat将MySQL数据库复制到另一个Mysql数据库 1.需求 2.方案 3.问题 1.需求 云服务器快到期了,实在不想续费了.一个是再续费太贵,再一个就是性能一般.索性直接买了个32G内存笔 ...
- 红帽下安装mysql数据库_[原创]RedHat 安装MySQL数据库
朋友购买了阿里云的服务器,服务器上自带有CentOS操作系统,但是开发软件需要自己安装,接下来将介绍本地RedHat Linux 5.10虚拟机上搭建Mysql数据库. 一.软件准备 (1)jdk-6 ...
- 如何更改mysql数据库编码格式_怎么修改MYSQL数据库的编码格式
1.怎么修改MYSQL数据库的编码格式 在建网站时,有时需要将一个数据库里的数据导入到另一个数据库里,但往往会出现二个数据库的编码不同,造成网页乱码.解决方法就是修改数据库编码.下面介绍一下如何修改M ...
- 如何为服务器安装mysql数据库文件,如何为服务器安装mysql数据库
如何为服务器安装mysql数据库 内容精选 换一换 对于mysqlpump工具,由于在并行备份场景有coredump问题,不建议您使用,推荐您使用mysqldump工具迁移.GaussDB(for M ...
最新文章
- 记一次订单号重复的事故,快看看你的 uuid 在并发下还正确吗?
- Xshell Linux常用命令及vim与权限修改等常见问题
- 瑞德西韦重症用药结果再曝光,上百名重症一周内好转,股价大涨19%
- win10 + VS2015 + EF6 + MySQL
- 深入Scripting Runtime Library
- iptables数据包、连接标记模块MARK/CONNMARK的使用(打标签)
- Arcgis 重装 的 license 问题
- 20200113每日一句
- 《软件工程》— 实用软件工程——习题答案
- 软件等于计算机程序加数据加什么,南航计算机软件数据结构上机实践报告
- python获取国内IP地址合集下发至网络设备
- 谢晶:webpower中国区正在向“多渠道智能化营销”全面转型
- php高校学生户籍档案管理系统
- request请求参数中文乱码问题
- 头条自媒体运营秘籍,坚持下去你就可以打败90%的人
- 使用Python做QQ机器人
- 线性子空间和仿射子空间
- 电子设计教程17:从共射极放大电路到射极跟随电路
- java获取给定日期当前周当前月当前季度的第一天和最后一天
- 用ffmpeg给音频加封面(亲试成功)
热门文章
- flanneld,flannel和cni逐步深入
- 【BZOJ3218】 a+b Problem
- 产业企业和投资机会研究 沈阳新松机器人自动化股份有限公司(300024)
- POJ 3168 Barn Expansion (几何+排序)
- Mybatis与hibernate
- 编译U-boot时,make[1]: *** 没有规则可以创建mkimage.o”
- [转]通过崩溃地址找错误行数之Delphi版
- 拓端tecdat|r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化
- 拓端tecdat|数据感知游客的森林公园游憩需求
- c++下字符串分割函数split实现