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

杰米

我有一个数据库表,其中包含约1.6亿行。

该表有两列:idlisting

我只需要使用PHP从listing列中显示1000个随机行并将它们放入<span>标记中。像这样:

<span>Row 1</span>
<span>Row 2</span>
<span>Row 3</span>

我一直在尝试这样做,ORDER BY RAND()但是要花这么长时间才能在如此大的数据库上加载,而且我找不到其他解决方案。

我希望有一个快速/轻松的方法来做到这一点。我无法想象仅仅回显1000个随机行是不可能的……谢谢!

ORDER BY RAND()是一个可以在小型数据库上正常运行的mysql函数,但是如果您运行的行大于10k,则应在程序内部构建函数,而不要使用mysql预制函数或以特殊方式组织数据。

我的建议:通过自动增量使mysql数据保持索引id,或添加其他增量和唯一行。

然后构建一个选择函数:

<?php
//get total number of rows
$result = mysql_query('SELECT `id` FROM `table_name`', $link); 
$num_rows = mysql_num_rows($result); 

$randomlySelected = [];

for( $a = 0; $a < 1000; $a ++ ){

        $randomlySelected[$a] = rand(1,$num_rows);

}

//then select data by random ids
$where = "";

$control = 0;
foreach($randomlySelected as $key => $selectedID){

    if($control == 0){

        $where .= "`id` = '". $selectedID ."' ";

    } else {

        $where .= "OR `id` = '". $selectedID ."'";

    }
    $control ++;
}


$final_query = "SELECT * FROM `table_name` WHERE ". $where .";";
$final_results = mysql_query($final_query);    

?>

如果缺少该1.6亿个数据库中的某些增量ID,那么如果随机选择的ID数组所包含的数量少于所需数量,则可以轻松添加一个函数来添加另一个随机ID(可能是while循环)。

让我知道您是否需要其他帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据数据库中的值回显图像?

来自分类Dev

如何从数据库中回显特定元素

来自分类Dev

如何从数据库回显If语句

来自分类Dev

如何从数据库回显If语句

来自分类Dev

来自数据库的PHP回显随机用户

来自分类Dev

无法从MySQL数据库php中回显数据

来自分类Dev

从mysql数据库回显特定的行

来自分类Dev

获取数据库的最新行和回显ID

来自分类Dev

如何在PHP中回显指定的数据形式的SQL数据库

来自分类Dev

如何限制从数据库回显的字符?

来自分类Dev

在复选框中回显数据库值

来自分类Dev

从数据库中“取消链接”回显结果

来自分类Dev

如何使用PHP从数据库中回显单个值

来自分类Dev

回显最近的数据库记录?

来自分类Dev

PHP / mysql如何使用登录的用户将数据库中的数据回显到文本框

来自分类Dev

如何从数据库中获取随机行,以便在多次调用中不重复行

来自分类Dev

如何从数据库中随机获取数据?

来自分类Dev

如何以自定义顺序回显从mysql数据库中提取的数组数据?

来自分类Dev

我需要一个想法如何从数据库中获得唯一的随机行

来自分类Dev

如何编写一个从数据库中随机选择9行的查询?

来自分类Dev

用htmlentities回显的数据库数据在希伯来语中给出了怪异的迹象

来自分类Dev

尝试从数据库中回显数据的未定义偏移

来自分类Dev

表数据库中的动态随机行

来自分类Dev

$ row没有正确地从MySQL数据库回显一行

来自分类Dev

第一个回显数据库行不显示 PHP

来自分类Dev

MYSQL / PHP-从数据库回显插入的数据

来自分类Dev

PHP不会在数据库中回显“ <”符号

来自分类Dev

单击回显的 html 代码时,PHP 从数据库中获取信息

来自分类Dev

如何从数据库中随机抽题包括分类?

Related 相关文章

  1. 1

    如何根据数据库中的值回显图像?

  2. 2

    如何从数据库中回显特定元素

  3. 3

    如何从数据库回显If语句

  4. 4

    如何从数据库回显If语句

  5. 5

    来自数据库的PHP回显随机用户

  6. 6

    无法从MySQL数据库php中回显数据

  7. 7

    从mysql数据库回显特定的行

  8. 8

    获取数据库的最新行和回显ID

  9. 9

    如何在PHP中回显指定的数据形式的SQL数据库

  10. 10

    如何限制从数据库回显的字符?

  11. 11

    在复选框中回显数据库值

  12. 12

    从数据库中“取消链接”回显结果

  13. 13

    如何使用PHP从数据库中回显单个值

  14. 14

    回显最近的数据库记录?

  15. 15

    PHP / mysql如何使用登录的用户将数据库中的数据回显到文本框

  16. 16

    如何从数据库中获取随机行,以便在多次调用中不重复行

  17. 17

    如何从数据库中随机获取数据?

  18. 18

    如何以自定义顺序回显从mysql数据库中提取的数组数据?

  19. 19

    我需要一个想法如何从数据库中获得唯一的随机行

  20. 20

    如何编写一个从数据库中随机选择9行的查询?

  21. 21

    用htmlentities回显的数据库数据在希伯来语中给出了怪异的迹象

  22. 22

    尝试从数据库中回显数据的未定义偏移

  23. 23

    表数据库中的动态随机行

  24. 24

    $ row没有正确地从MySQL数据库回显一行

  25. 25

    第一个回显数据库行不显示 PHP

  26. 26

    MYSQL / PHP-从数据库回显插入的数据

  27. 27

    PHP不会在数据库中回显“ <”符号

  28. 28

    单击回显的 html 代码时,PHP 从数据库中获取信息

  29. 29

    如何从数据库中随机抽题包括分类?

热门标签

归档