`

如何在亿级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则是通过代码来生成的随机数。通过观察执行计划,效率是最高的!

分享到:
评论

相关推荐

    mysql数据库my.cnf配置文件

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

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

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

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例013 安装MySQL数据库服务器 26 实例014 安装PHP.50 28 实例015 第4个PHP程序 30 1.5 XAMPP——Linux版PHP集成化安装包 31 实例016 XAMPP——Linux下PHP开发环境的集成化 31 实例017 Linux操作系统下启动XAMPP 32...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例013 安装MySQL数据库服务器 26 实例014 安装PHP.50 28 实例015 第4个PHP程序 30 1.5 XAMPP——Linux版PHP集成化安装包 31 实例016 XAMPP——Linux下PHP开发环境的集成化 31 实例017 Linux操作系统下启动XAMPP 32...

    MySql基本查询、连接查询、子查询、正则表达查询讲解

    查询数据是指从数据库中的数据表或视图中获取所需要的数据,在mysql中,可以使用SELECT语句来查询数据。根据查询条件的不同,数据库系统会找到不同的数据。 SELECT语句的基本语法格式如下: [sql] view plain copy ...

    Python Cookbook

    7.10 在MySQL数据库中储存BLOB 295 7.11 在PostgreSQL中储存BLOB 296 7.12 在SQLite中储存BLOB 298 7.13 生成一个字典将字段名映射为列号 300 7.14 利用dtuple实现对查询结果的灵活访问 302 7.15 打印数据库...

    crossword_generator:内置自动填字游戏生成器以进行启发式搜索实验

    除了填字游戏解决方案生成器之外,该系统还包括用于操纵启发式搜索和网格约束以及在任意数量的随机生成的网格上运行实验的基础结构。 此外,该系统还包括一个GUI,允许用户生成单个拼图并完成它们。 系统默认使用...

    易语言程序免安装版下载

    修改外部数据库在4.12版中导致的不兼容问题,并增加了对MS SQL Server数据库中image和text字段类型的说明。 7. 修改扩展界面支持库一,禁止透明标签在父窗口刷新时自动刷新,以解决其导致窗口刷新缓冲的问题。 8....

    php网络开发完全手册

    14.1 MySQL数据库的介绍 219 14.2 安装与配置 219 14.2.1 下载MySQL 219 14.2.2 MySQL的安装 220 14.2.3 MySQL的配置 221 14.2.4 MySQL的启动与关闭 222 14.3 如何创建一个数据库与表 223 14.3.1 登录与退出MySQL的...

    UKcms内容管理系统 v1.1.10.zip

    底层使用面向对象的轻量级PHP开发框架,采用惰性加载,及路由、配置和自动加载的缓存机 制,确保系统高效运行,可使网站数据达到百万级负载。灵活强大的标签库可任意拓展,让您随心所欲。拥有建站各种实用功能,摒弃...

    asp.net知识库

    在.NET访问MySql数据库时的几点经验! 自动代码生成器 关于能自定义格式的、支持多语言的、支持多数据库的代码生成器的想法 发布Oracle存储过程包c#代码生成工具(CodeRobot) New Folder XCodeFactory3.0完全攻略--...

    基于Qt的考试管理系统设计与实现

    开发一个考试管理系统,考生可以进行练习,和在线考试,管理员负责管理题库以及生成试卷。 ... 基于学生的功能有: 练习试题(此试题为题库中所有试题类型的所有题,考生可以任意答题且参考...数据库:MySql Server 5.5

    discuz!6.1GBK 版本论坛系统

    可以在上述系统中安全稳定的运行,但您仍然需要做好服务器操作系统级的安全防备措施,例如Windows用户需更改 MySQL for Windows 的初始 root 密码,避免跨目录的文件读写。类 Unix 用户需避免使用过于简单的密码,...

    oexam在线考试系统

    oExam的主要功能包括了录入和导入试题、人工组卷和随机组卷、断电保护和考试监控、成绩查询和修改、自动评分和人工评分、用户导入导出、无限的数据分类、创建任意级别的机构、丰富的统计分析、基于角色的权限管理、...

    MySQL性能优化技巧分享

    完全“随机”的字符串(如:MD5()、SHA1()或者UUID()等产生的字符串)会任意分布在很大的空间内,会导致INSERT以及一些SELECT语句变的很慢 如果希望查询执行得快速且并发性好,单个查询最好不要做太多的关联查询...

    PHP开发实战1200例源码

    实例013 安装MySQL数据库服务器 26 实例014 安装PHP.50 28 实例015 第4个PHP程序 30 1.5 XAMPP——Linux版PHP集成化安装包 31 实例016 XAMPP——Linux下PHP开发环境的集成化 31 实例017 Linux操作系统下启动XAMPP 32...

    梦想cms(lmxcms)网站管理系统 v1.4.rar

    lmxcms基于php语言和mysql数据库开发,系统采用业界流行的MVC设计模式开发,使得系统结构更加清晰明了,便于进行二次开发和管理,并且lmxcms内嵌了smarty模板引擎,使程序与模板分离,如果您足够了解lmxcms完全可以...

    51shop 网上商城系统 v2.0

    51shop 由 PHP 语言开发, 使用快速的 MySQL 数据库保存数据 ,为中小型网站实现网上电子商务提供一个完美的解决方案. 一、用户模块 1. 用户注册:用户信息包括:用户ID、用户名、用户密码、性别、邮箱、省份、城市、 ...

Global site tag (gtag.js) - Google Analytics