-1

可能重复:
从 mysql 中的大表中快速
选择随机行使用 MySQL 选择随机行

我目前正在制作一个模块,以从 mysql 数据库中提取随机业务​​记录,并将记录显示为模块内的“特色业务”。一切正常,但如果这是最好的方法,我不是 100%,因为我听说它不是太快?目前速度还是挺快的,我想我能拿到的最大业务量大概在100-200左右,那么用下面的方法可以吗,还是这么多记录会慢很多?。

非常感谢 :-)

<?php
$result = mysql_query("SELECT * FROM `zgjzb_chronoforms_data_submitbusiness` ORDER BY     RAND() LIMIT 0,4;");
$row = mysql_fetch_array($result);
echo $row['businessname'];
?>
4

2 回答 2

2

看到这个问题:MySQL 从 600K 行中快速选择 10 个随机行

有“更好”的方式来做你想做的事。

在 100-200 家企业中,这可能不会产生太大影响。哪怕是几千。您当前的查询被认为“慢”的原因是 MySQL 正在内存中创建一个临时表来处理查询。

所以你应该对你现在所拥有的一切都很好(好吧,一段时间)。

PS这些mysql_*功能现在已经过时了。您应该使用mysqliPDO。这是关于差异的PHP手册。

于 2012-11-09T22:44:34.143 回答
0

有这么多记录你会完全没问题的。即使你有成千上万的人,你也会没事的。Sql 查询几乎总是以其速度给我留下深刻印象,对于记录如此之少的查询,你会没事的。

于 2012-11-09T22:40:14.177 回答