-2

可能重复:
MySQL:如何检索随机行或多个随机行?
从 mysql 数据库中提取 5 条随机记录

我的数据库中有大量域列表,位于“网站”列下的“列表”表中。

大约有 1.4 亿行,我只需要知道如何回显随机行。

基本上是这样的:

<?php include('directory/database.php'); ?>

WHATEVER CODE WORKS FOR GETTING A RANDOM DOMAIN FROM THE DATABASE

<?php
echo $domain;
?>

只有大量的记录,所以我需要知道随机选择其中一个并显示在页面上的最快方法。谢谢!

4

1 回答 1

0

你绝对不想使用ORDER BY RAND(). MySQL 必须建立一个临时表。如果你的表有一个唯一的 id 列,这样的事情会更好:

SELECT * FROM `table`
WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `table` )
ORDER BY id LIMIT 1;

有关在 php 中运行良好的其他方法,请参阅此博客文章

注意:这只是重复了我在这个线程上的回答

于 2012-11-25T03:17:30.243 回答