`

如何在亿级mysql数据库中随机抽任意n条数据

 
阅读更多

三种方案:

1.通过by rand()的方式,最low的方式,不过对于小数据量了完全可以,简单方便

2.通过sql语句实现SELECT * FROM      opus WHERE player_id >= ((SELECT MAX(player_id) FROM opus)-(SELECT      MIN(player_id) FROM opus)) * RAND() + (SELECT MIN(player_id) FROM opus)       LIMIT 200

但是根据执行计划来看,效率还是不怎么好,如果表中有索引字段,则将会放弃使用索引来执行查询;

 

3.SELECT t.opus_id FROM opus t where t.opus_id >=[start] and t.opus_id<=[start + 1000]  limit 200;

start则是通过代码来生成的随机数。通过观察执行计划,效率是最高的!

分享到:
评论

相关推荐

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

    在本篇文章中,将详细介绍MySQL数据库中日志顺序读写的原理以及数据文件随机读写的机制,并探讨这两者在实际工作中的应用和性能影响。 首先,我们需要了解MySQL数据库在执行增删改操作时的两种数据读写机制。第一种...

    mysql数据库my.cnf配置文件

    # MySQL每打开一个表,都会读入一些数据到table_open_cache缓存中,当MySQL在这个缓存中找不到相应信息时,才会去磁盘上读取。默认值64 # 假定系统有200个并发连接,则需将此参数设置为200*N(N为每个连接所需的文件...

    CentOS7上安装MySQL数据库

    在Linux系统中,尤其是CentOS 7环境下安装MySQL数据库是一个常见的任务,对于系统管理员和开发者来说至关重要。MySQL是一个流行的开源关系型数据库管理系统,被广泛应用于Web应用、数据存储和数据分析等场景。本教程...

    2019 年计算机等级考试二级MySQL数据库程序设计试题(一).docx

    在这个阶段,数据独立性得到了最大程度的提高,主要得益于数据模型、数据库管理系统以及数据库设计理论的发展。 ### 6. 栈和队列的特点 - **共同点**:只允许在一端进行插入和删除操作。 - **区别**: - **栈**:...

    Mysql数据库索引(2)- 为select设计索引- 自学笔记

    ### MySQL数据库索引设计原理与实践 #### 一、理论基础 ##### 1.1、一个例子 在MySQL中,合理的索引设计对于提高查询效率至关重要。为了更好地理解这一点,我们可以通过一个具体的例子来深入探讨。 假设有一个...

    辛星笔记之MySQL优化篇

    `RAND()`函数在MySQL中用于生成一个介于0到1之间的随机浮点数,可以用于选取数据表中的随机记录。`WITH ROLLUP`用于`GROUP BY`子句中,提供了额外的汇总行,可以用来实现更复杂的统计分析。 3. 锁问题:数据库锁是...

    ISAM 数据库开发系统.zip

    然而,随着关系型数据库如MySQL、Oracle和SQL Server等的发展,ISAM已经被更现代的存储引擎所取代,因为它们提供了更好的事务处理、并发控制和更丰富的数据类型。 总结来说,"ISAM 数据库开发系统.zip"是一个基于...

    Linux安装mysql5.7详细步骤

    如果计划将MySQL的数据文件存储在独立的数据盘上,首先需要将数据盘进行格式化和挂载。 1. **检查新增磁盘**:使用`fdisk -l`来检查是否有未分区的新磁盘。 2. **分区**:使用`fdisk /dev/sdb`对磁盘进行分区(假设...

    nosql分布式数据库期末考试题.docx

    - **MongoDB**: 非内存数据库,但可以通过配置将常用数据驻留在内存中。 - **Bigtable**: 谷歌的分布式数据存储系统,并非专门设计为内存数据库。 **14. Neo4j 图形数据库应用场景** - **快递物流数据管理**: 适用...

    mysql-5.7.28-winx64.zip

    MySQL是世界上最受欢迎的关系型数据库管理系统(RDBMS)之一,尤其在Web应用程序中广泛使用。这里我们关注的是MySQL 5.7.28的Windows 64位版本,压缩包名为"mysql-5.7.28-winx64.zip"。这个版本包含了MySQL服务器的...

    密码学:MD5+Mysql

    在这个主题中,我们将重点关注MD5(Message-Digest Algorithm 5)哈希函数以及MySQL数据库系统在用户登录注册过程中的应用。 MD5是一种广泛使用的哈希函数,由Ronald Rivest在1991年设计。它将任意长度的输入(也...

    linux离线安装mysql教程

    然后,在这个目录下创建一个名为`data`的子目录,作为MySQL数据库文件的存储位置。 接下来,我们需要创建一个新的Linux用户,专门用于运行MySQL服务。这个用户通常命名为`mysql`,并设置相应的组。使用`useradd ...

    计算机二级MySQL考试强化习题及答案.docx

    在计算机二级MySQL考试中,考生需要掌握数据库的基本操作和相关概念。以下是一些关键知识点的详细解释: 1. **fseek 函数**:`fseek` 是用于改变文件位置指针的函数,它允许你在文件中进行随机读写操作。通过指定...

    Mybatics,前端AJAX技术,SpringBoot、mysql、md5加密算法实现登录注册

    在IT行业中,构建一个安全且高效的Web应用是至关重要的,而这通常涉及到多个技术栈的集成。本项目结合了"Mybatis"(一个优秀的持久层框架)、"前端AJAX技术"(用于实现页面异步更新)、"SpringBoot"(简化Spring应用...

    Mysql 5.6 for Linux5 安装

    这些文件可以放置在服务器上的任意目录中,如 `/tmp` 或 `/usr/local/src`。 #### 三、MySQL默认安装路径 MySQL安装完成后,其主要组件会分布在以下路径中: - **/usr/bin**:客户端程序和脚本。 - **/usr/sbin**:...

    ubuntu安装mysql(1).doc

    在Ubuntu 18.00系统中安装MySQL 5.7是一个相对标准的过程,但需要注意一些潜在的问题和陷阱。以下是一份详细的安装指南,确保你在安装过程中无坑: 1. **确认MySQL未安装**: 在开始安装之前,你需要确认系统中...

    mysql单机安装.docx

    此外,若需要允许远程访问,可以通过更新`mysql.user`表中的`host`字段,将所有用户的`host`设置为`%`,并授权`root`用户在任意地址访问所有数据库。这可以通过执行SQL语句`UPDATE user SET host = '%' WHERE user =...

    MySQL中有哪些情况下数据库索引会失效详析

    要想分析MySQL查询语句中的相关信息,如是全表查询还是部分查询,就要用到explain. 索引的优点 大大减少了服务器需要扫描的数据量 可以帮助服务器避免排序或减少使用临时表排序 索引可以随机I/O变为顺序I/O 索引...

Global site tag (gtag.js) - Google Analytics