`
vanadiumlin
  • 浏览: 507060 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mysql 百万数据 随机数抽取

阅读更多

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

  这下,效率又提高了,查询时间只有0.01秒

  最后,再把语句完善一下,加上MIN(id)的判断。我在最开始测试的时候,就是因为没有加上MIN(id)的判断,结果有一半的时间总是查询到表中的前面几行。

  完整查询语句是:

SELECT * FROM `table`
WHERE id >= (SELECT floor( RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id) FROM `table`)) + (SELECT MIN(id) FROM `table`))) 
ORDER BY id LIMIT 1;
  
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 1;

分享到:
评论

相关推荐

    mysql获取随机数据的方法

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

    kettle抽取http请求,发送json参数.docx

    kettle抽取http请求,发送json参数是指使用kettle工具从http接口中抽取数据,并将抽取的数据发送到目标系统中。这里的http请求是指从外部系统中获取数据,而不是指kettle自身的http请求。 描述解释 kettle抽取http...

    MySQL取出随机数据

    4. **一致性**:是否总是能均匀地抽取数据。 总之,从MySQL中高效地取出随机数据需要权衡性能、兼容性和实现的复杂性。在实际应用中,应根据数据量、系统资源以及特定需求来选择最适合的方法。

    《ETL数据整合与处理(Kettle)》教学教案 —02源数据获取.pdf

    该章节的教学目标是让学生掌握数据库连接的创建方法和参数设置、熟悉抽取源数据和生成数据的常用方法、掌握常用抽取源数据和生成数据组件及其参数设置、熟悉组件处理后的结果数据解读。 主要知识点 1. 数据库连接...

    随机抽取记录软件

    同时,软件可能会结合数据库技术来存储和管理用户数据,如SQLite或MySQL,以提高数据处理效率和安全性。 文件名称"SJQQ"可能是软件的简称或版本号,具体含义需要更多信息才能确定。但可以推测,这可能是一个独立的...

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

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

    java+mysql开发的单词簿源码.zip

    应用中提到的“随机抽取n个单词”功能可能使用Java的Random类或ThreadLocalRandom类生成随机数,结合SQL查询,从数据库中随机选择单词。 10. **异常处理**: 在与数据库交互过程中,可能出现如连接失败、SQL执行...

    一个炫酷的抽奖系统源码

    2. 上课点名:在教学环境中,系统可以替代传统的点名方式,通过随机抽取学生名单,提高点名效率,同时降低学生对被点名的预期,增强课堂互动性。教师还可以设置点名次数,避免重复点名。 四、系统扩展 抽奖系统...

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

    MySQL中的随机抽取记录是一种常见的需求,特别是在数据采样或者创建随机测试数据时。然而,实现这一功能的方法多种多样,每种方法的效率也不尽相同。本文将深入探讨两种常见的实现方式及其效率分析。 首先,最直观...

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

    在数据库管理中,有时我们需要从表中随机抽取数据,这在测试、数据分析或模拟真实场景时非常有用。对于MySQL数据库,有多种方法可以从表中获取随机数据。本文将详细讲解两种常用的方法及其性能差异,并提供PHP代码...

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

    前天因为工作需要我把从一个5W记录的数据库中随机抽取几条记录了,这里我是直接使用mysql rand by函数来直接,几千条记录没关系,但如果到了几万条感觉要几秒,这个就很慢了,下面小编与大家一起来看看mysql 取随机...

    sql随机查出数据作调考用

    在数据库管理中,有时我们需要从大量数据中随机抽取一部分数据用于测试、分析或者考试系统等场景。这种需求可以通过编写特定的SQL查询语句来实现。不同类型的数据库管理系统(如MS SQL Server, MySQL, Access等)...

    access mysql mssql 随机 10条数据的sql语句 <font color=red>原创</font>

    总的来说,无论是Access、MySQL还是SQL Server,都有各自的方式来实现随机抽取数据库中的数据。在Access中,由于其特殊的语法和限制,可能需要借助编程语言来辅助实现不重复的随机选取;而在MySQL和SQL Server中,...

    mysql中RAND()随便查询记录效率问题和解决办法分享

    最近由于需要大概研究了一下MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。 有两个方法可以达成以上效果. 1.新建...

    limit传参的使用方法

    2. **性能优化**:对于大型数据表,考虑使用其他方式替代`ORDER BY RAND()`,比如使用`RAND()`函数生成随机数作为索引,再进行查询。 3. **资源管理**:确保正确关闭`ResultSet`、`Statement`以及`Connection`等资源...

    如何从数据库中随机取出10条记录的方法

    - **系统测试:** 开发过程中,需要对系统进行压力测试或功能测试,此时可以从数据库中随机抽取数据进行测试。 - **用户界面展示:** 例如新闻推荐系统、商品推荐系统等场景,需要向用户展示多样化的信息,可以采用...

    随机抽取的sql语句 每班任意抽取3名学生

    在SQL中,随机抽取数据是一项常见的任务,尤其在需要进行抽样调查或模拟随机选取时。在这个场景中,我们需要从一个包含多个班级(一至十班)的学生表中,为每个班级随机选择3名学生参与学校大扫除。这个问题可以通过...

Global site tag (gtag.js) - Google Analytics