Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从数据库中回显随机行?_Php_Mysql - Fatal编程技术网

Php 如何从数据库中回显随机行?

Php 如何从数据库中回显随机行?,php,mysql,Php,Mysql,可能重复: 我的数据库中有一个很大的域列表,在“网站”列下的表列表中 大约有1.4亿行,我只需要知道如何回应一个随机的行 基本上是这样的: <?php include('directory/database.php'); ?> WHATEVER CODE WORKS FOR GETTING A RANDOM DOMAIN FROM THE DATABASE <?php echo $domain; ?> 这里有大量的记录,所以我需要知道如何最快地将其中一条随机选择并

可能重复:

我的数据库中有一个很大的域列表,在“网站”列下的表列表中

大约有1.4亿行,我只需要知道如何回应一个随机的行

基本上是这样的:

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

WHATEVER CODE WORKS FOR GETTING A RANDOM DOMAIN FROM THE DATABASE

<?php
echo $domain;
?>

这里有大量的记录,所以我需要知道如何最快地将其中一条随机选择并显示在页面上。谢谢

您肯定不想使用ORDER BY RAND。MySQL必须构建一个临时表。如果您的表有一个唯一的id列,那么这样更好:

SELECT * FROM `table`
WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `table` )
ORDER BY id LIMIT 1;
有关在php中运行良好的其他方法,请参见


注意:这只是重复。

我在Google和StackOverflow上找到的所有答案都类似于简单地使用SELECT*from TABLE order by RAND LIMIT 1-我需要一些可以在1.4亿行的表上工作的东西。