当前位置:首页 > 日记 > 正文

MySQL随机抽取的实现方法及效率分析

MySQL随机抽取的实现方法及效率分析
复制代码代码如下所示:
如何从数据库中随机读取15条记录
以伦德()极限分别为0
如何从数据库中随机读取所有记录
伦德的命令()

但后来我查看了MySQL的官方手册,而对于兰德(),它可能意味着不能在逐子句中使用兰德()函数,因为它会导致数据列多次扫描。然而,在MySQL 3.23版本中,仍然可以用兰德()实现随机顺序。

但这是一个真正的测试,发现效率很低,超过1500万的图书馆,查询5条数据,实际上超过8秒。
不能以顺序的方式使用带有兰德()值的列。
搜索谷歌,互联网基本上是查询MAX(ID)* *(),以便随机访问数据。
*选择
从'表'作为T1连接(选择圆(兰德)*(从中选择max(id)))
在t1.id = t2.id
通过t1.id ASC限制5阶;

但是这将产生5个连续的记录。这个解决方案每次只有一个查询和5个查询。即使如此,它也是值得的,因为15万个表,查询只需要不到0.01秒。

以下语句用于联接,MySQL的论坛
*选择
从'表'
其中id(选择楼层=(最大*)(id)(从)表')
按ID限制订单1;

我测试了它,它花了0.5秒,速度很好,但是与上面的语句有很大的差距。

所以我重写了语句。
从表中选择*
其中id(选择楼层=(兰德)* *(从表中选择(max(id))))
按ID限制订单1;

在这种情况下,效率提高了,查询时间仅为0.01秒。

最后,对句子进行了完善,并将min(id)添加到判断中,在测试开始时,我没有添加一个min(id)判断,结果是查询表中前几行的一半时间。
完整的查询语句是:
从表中选择*
其中ID(从(表)表(选择)- min(id)(选择)+表(+))中选择(=(*)(选择max(id)))
按ID限制订单1;

*选择
从'表'作为T1连接(选择圆(兰德())*((选择max(ID)选择))(+(max)(选择))+((x)))
在t1.id = t2.id
通过t1.id限1阶;

最后,这两个语句分别在PHP中进行了10次查询。
前者需要0.147433秒。
后者需要0.015130秒。
似乎使用连接的语法比直接使用函数效率更有效。

相关文章

对sdii.exe使用-SDII是什么

对sdii.exe使用-SDII是什么

电脑软件,sdii,exe,SDII,评论:sdii.exe是中晶扫描仪相关程序。一个指令用于检测扫描仪的连接和处理按钮 进程文件:SDH或sdii.exe 进程名称:中晶扫描仪控制台 过程类别:安全风险的过程 英文描述: sdii.exe是中晶扫描仪控制台执行。这个过程,控制…

linux磁盘分区详细图表和文本

linux磁盘分区详细图表和文本

图表,文本,磁盘分区,详细,电脑软件,点评:Linux分区不同于Windows,Linux的硬盘(IDE硬盘被命名为HDX(x从D)因为IDE驱动器多达四,SCSI,SATA,三联(x USB硬盘是一个z)),的4最硬的主分区,不用说我们都知道 在CentOS的磁盘管理 1。磁盘分区格式描述 Linux的…

winservad.exe的过程是怎样的

winservad.exe的过程是怎样的

的是,过程,是怎样,电脑软件,winservad,评论:对winservad.exe工艺简介 进程文件:winservad或winservad.exe 进程名称:winservad广告 过程类别:安全风险的过程 英文描述: winservad.exe与广告相关的一个身份不明的。它显示了不请自来的广告,展示,…

phpMyAdmin是错误的:#2003不能登录

phpMyAdmin是错误的:#2003不能登录

服务器,错误,登录,解决方案,电脑软件,提示时连接MySQL数据库通过phpMyAdmin:2003不能登录到MySQL服务器。很明显,这不是启动MySQL服务,右击我的电脑-管理-找到服务,找到MySQL启动或不启动报错: 无法启动MySQL服务错误1067:处理不必要的中止 然…

Oraclesql-update,删除,插入优化,和使

Oraclesql-update,删除,插入优化,和使

删除,分享,优化,使用技巧,电脑软件,更新 1。备份数据(安全性,提高性能)。 2,批量更新,小批量提交,防止锁表。 三.如果更新自动拥有索引,更新后的数据量大,索引首先被取消,然后重新创建。 4。全表数据更新。如果表非常大,建议以新表的形式替换更新…

PHP按指定键值键对二维数组的示例

PHP按指定键值键对二维数组的示例

示例代码,键值,二维数组,排序,电脑软件,复制代码代码如下所示: 功能array_sort($array,美元关键){ 如果(is_array($array)){ key_array美元= null; new_array美元= null; 对于($ i = 0;$ i key_array美元{数组{ } { }我美元美元关键} = $我; } Ksort(key…

该microsoft.exe过程查询微软过程

该microsoft.exe过程查询微软过程

查询,过程,意义,电脑软件,microsoft,评论:详细的介绍了microsoft.exe微软过程 进程文件:微软或microsoft.exe 进程名称:Gaobot病毒 过程类别:安全风险的过程 英文描述: Is a process which is registered as the GAOBOT virus. 它利用Windows …

iPhone手机如何与iTunes(解决方案)不

iPhone手机如何与iTunes(解决方案)不

连接,解决方案,电脑软件,iPhone,iTunes,问题: 一些iPhone手机系统已经升级到iOS7,有iPhone不能与iTunes连接问题。我该怎么办 答案uff1a iPhone有上述问题,参考以下方法。 1。重装驱动 先退出iTunes,然后重新打开。通过数据将手机连接到计…

QQ空间个人卡为什么不显示最新的日

QQ空间个人卡为什么不显示最新的日

空间,日志,显示,最新,电脑软件,情况可能是由以下原因引起的: 1。如果在QQ空间设置了访问权限,日志更新不会显示在QQ空间的个人卡上; 2。更新后的日志设置了访问权限,建议将更新后的日志权限打开给所有人。 3、登录空间设置、其他设置不检查Q…

Linux如何删除非空文件夹|Linux如

Linux如何删除非空文件夹|Linux如

删除,电脑软件,Linux,点评:Linux如何删除非空文件夹| Linux如何删除非空文件夹 # rm rf Linux如何删除非空文件夹| Linux如何删除非空文件夹 # rm rf…

苹果的iPhoto和光圈将被新的照片应

苹果的iPhoto和光圈将被新的照片应

应用程序,照片,将被,光圈,电脑软件,{ }北京时间6月28日消息,环网站报道,苹果将停止开发消费水平的图片管理软件iPhoto和专业照片编辑应用孔径,而不是一个新的照片应用在WWDC大会上出现。 苹果并未透露的iPhoto的细节,但声明口径。 苹果表示:新…

linux系统启动的十种快速方法

linux系统启动的十种快速方法

方法,系统启动,十种,快速,电脑软件,评论:Linux需要重新启动是很少见的,但是一旦您需要它,Linux启动通常很慢,本文将提供详细的解决方案。 Linux需要重启,这是很少见的,但是一旦你需要它,Linux启动往往很慢,幸好有一些加速的方法。 方法/步骤 # 1…