`
jayliu
  • 浏览: 51114 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MySql随机取数据

阅读更多

[1]普通方法, 效率太低

SELECT * FROM table ORDER BY rand() LIMIT 10;

[2] JOIN的方法:

SELECT * 
FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`) - (SELECT MIN(id) FROM `table`)) + (SELECT MIN(id) FROM `table`)) AS id) AS t2 
WHERE t1.id >= t2.id 
ORDER BY t1.id LIMIT 10;

分享到:
评论
2 楼 jayliu 2009-12-11  
第二种方式速度挺快,可惜有一个瑕疵,就是不能够保证每次都取得足够的想要数据
1 楼 xiao_xiong_2009 2009-12-11  
好办法

相关推荐

    MYSQL随机抽取查询 MySQL Order By Rand()效率问题

    MySQL中的随机抽取查询是一个常见的需求,特别是在数据采样或者生成随机示例时。然而,`ORDER BY RAND()`的效率问题一直是困扰开发人员的难题。在MySQL中,直接使用`ORDER BY RAND()`对整个表进行排序,然后通过`...

    MySQL 随机查询数据与随机更新数据实现代码

    在MySQL数据库操作中,随机查询和随机更新数据是两种常见的需求,特别是在数据分析、测试或创建随机样本时。本文将详细探讨这两个概念,并提供相应的实现代码。 首先,我们来看如何在MySQL中实现随机查询数据。当你...

    mysql获取随机数据的方法

    在MySQL中,获取随机数据是常见的需求,尤其是在测试、数据分析或者构建某些特定功能时。本文将探讨两种常用的方法,以及如何根据数据量和需求选择合适的方法。 方法一:使用`ORDER BY RAND()`函数 `ORDER BY RAND...

    mysql随机查询若干条数据的方法

    在mysql中查询5条不重复的数据,使用以下: 代码如下:SELECT * FROM `table` ORDER BY RAND() LIMIT 5 就可以了。但是真正测试一下才发现这样效率非常低。一个15万余条的库,查询5条数据,居然要8秒以上搜索Google...

    mysql优化取随机数据慢的方法

    这里我是直接使用mysql rand by函数来直接,几千条记录没关系,但如果到了几万条感觉要几秒,这个就很慢了,下面小编与大家一起来看看mysql 取随机数据慢优化过程。MySQL很多时候需要获取随机数据,举个例子,要从...

    MySQL 随机函数获取数据速度和效率分析

    在MySQL中,随机获取数据是一项常见的需求,但不恰当的方法可能会导致性能问题,尤其是在处理大量数据时。这里我们将深入探讨MySQL中的随机函数及其效率。 首先,最直观的随机选取数据的方法是使用`ORDER BY RAND()...

    MySql分组后随机获取每组一条数据的操作

    在MySQL数据库中,有时我们需要对数据进行分组处理,并从每个分组中随机选取一条记录。这在统计分析或者抽样调查等场景中非常常见。本文将详细介绍如何在MySQL中实现这一操作,以及一些关于随机选取数据的优化方法。...

    php随机取mysql记录方法小结

    在PHP与MySQL交互时,有时候我们需要从数据库中随机获取数据,比如用于展示推荐内容、轮播图或者其他随机展示的信息。本文将介绍几种PHP随机获取MySQL记录的方法。 **方法一:Order By Rand()** 这是最常见的一种...

    PHP实现在数据库百万条数据中随机获取20条记录的方法

    今天偶然想起来一个坑爹数据,如:PHP取百万条数据中随机20条记录,当时就用的算法。 1.先统计统计数据库多少条记录(这个做个数据缓存,如1小时重新统计一次), 2.根据总条数,随机1次,1次性取出20条记录(当然这...

    MySQL取出随机数据

    在MySQL中,获取数据库表中的随机数据是一项常见的需求,特别是在构建一些需要展示随机内容的应用时。最直观的方法是使用`ORDER BY RAND()`语句,但这种方法在处理大量数据时效率较低,因为它会重新计算随机数对每一...

    从MySQL数据库表中取出随机数据的代码

    MySQL 如何从表中取出随机数据  以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩. 他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询. 翻了手册,找到了下面这个语句,可以完成任务了 ...

    行业-33 MySQL数据库的日志顺序读写以及数据文件随机读写的原理.rar

    此外,MySQL还采用了一些策略来降低数据文件的随机读写,例如,通过自适应哈希索引(Adaptive Hash Index)为热点数据提供更快的查找,以及通过预读取(Prefetching)技术提前加载可能需要的数据页。 在优化数据库...

    Mysql中文汉字转拼音的实现(每个汉字转换全拼)

    在MySQL中实现中文汉字转拼音的功能,主要是为了方便在数据库查询和数据分析时处理中文文本,尤其是在没有全文索引或者需要进行复杂模糊匹配时。以下是一个简单的实现方法,它利用自定义函数来完成这一任务。 首先...

    MYSQL获取行号row_no

    综上所述,MySQL中获取行号的方式有多种,具体选择哪种取决于实际需求和数据特性。对于小规模数据集,推荐使用第一种方法;对于需要按特定顺序排列的大型数据集,则建议采用第二种方法;而对于只需要筛选部分记录的...

    SQL随机提取N条记录

    在SQL(Structured Query Language)中,随机提取数据是一项常见的需求,尤其在数据分析、测试或样例展示时。这里我们将深入探讨如何在SQL中实现这一功能,以满足“SQL随机抽取N条记录”的需求。 首先,我们需要...

Global site tag (gtag.js) - Google Analytics