Mysql Limit 分页查询优化详解_Mysql

select * from table LIMIT 5,10; #返回第6-15行数据
select * from table LIMIT 5; #返回前5行
select * from table LIMIT 0,5; #返回前5行

我们来写分页

物理分页

select * from table LIMIT (当前页-1)*每页显示条数,每页显示条数;

MySQL之Limit简单优化.md

同样是取90000条后100条记录,传统方式还是改造方式?

传统方式是先取了前90001条记录,取其中最大一个ID值作为起始标识,然后利用它可以快速定位下100条记录

改造方式是仅仅取90000条记录后1条,然后取ID值作起始标识定位下100条记录

传统方式执行结果.100 rows in set (0.23) sec

改造方式执行结果.100 rows in set (0.19) sec

-- 改造方式->简写方式
SELECT * FROM table WHERE ID>=( SELECT ID FROM table ORDER BY ID LIMIT 90000,1) limit 100;

以上所述是小编给大家介绍的Mysql Limit 分页查询优化详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mysql
, 分页
, limit
, limit分页优化
分页查询优化
mysql limit分页优化、sql limit 分页优化、mysql limit 分页、php mysql limit 分页、mysql limit分页查询,以便于您获取更多的相关知识。

时间: 2024-11-16 07:18:27

Mysql Limit 分页查询优化详解_Mysql的相关文章

mysql limit 分页优化详解

实现分页,我们一般会使用 select * from table   where id >100  limit   a,b   ,  当分页过大时,如达到一万页,此时 a =十万 ,b=10,   虽然此处使用到了索引(不用索引情况会更加糟糕),但是通过索引检索后还是需要回表去取 十万零一十条数据  然后丢掉前十万条, 返回十条,这个代价明显太大了.   通常的解决方法是,限制总页数,因为通过没有用户会对一万页后的数据感兴趣,当然也可以通过coreseek sphinx 等实现   当然也可以通

MySQL常用聚合函数详解_Mysql

一.AVG AVG(col) 返回指定列的平均值 二.COUNT COUNT(col) 返回指定列中非NULL值的个数 三.MIN/MAX MIN(col):返回指定列的最小值 MAX(col):返回指定列的最大值 四.SUM SUM(col) 返回指定列的所有值之和 五.GROUP_CONCAT GROUP_CONCAT([DISTINCT] expr [,expr ...]              [ORDER BY {unsigned_integer | col_name | expr}

Mysql my.ini 配置文件详解_Mysql

Mysql my.ini 配置文件详解 #BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 #TYPE: SYSTEM #END CONFIG INFO # # 此mysql配置文件例子针对4G内存 # 主要使用INNODB #处理复杂队列并且连接数量较少的mysql服务器 # # 将此文件复制到/etc/my.cnf 作为全局设置, # mysql-data-dir/my.cnf 作为服务器指定设置 # (@loc

mysql中explain用法详解_Mysql

如果在select语句前放上关键词explain,mysql将解释它如何处理select,提供有关表如何联接和联接的次序. explain的每个输出行提供一个表的相关信息,并且每个行包括下面的列: 1,id   select识别符.这是select的查询序列号.2,select_type 可以为一下任何一种类型simple  简单select(不使用union或子查询)primary   最外面的selectunion    union中的第二个或后面的select语句dependent uni

MySQL用户权限管理详解_Mysql

用户权限管理主要有以下作用: 1. 可以限制用户访问哪些库.哪些表 2. 可以限制用户对哪些表执行SELECT.CREATE.DELETE.DELETE.ALTER等操作 3. 可以限制用户登录的IP或域名 4. 可以限制用户自己的权限是否可以授权给别的用户 一.用户授权 复制代码 代码如下: mysql> grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option;  

mysql delete limit 使用方法详解_Mysql

mysql delete limit优点: 用于DELETE的MySQL唯一的LIMIT row_count选项用于告知服务器在控制命令被返回到客户端前被删除的行的最大值.本选项用于确保一个DELETE语句不会占用过多的时间.您可以只重复DELETE语句,直到相关行的数目少于LIMIT值为止. 如果DELETE语句包括一个ORDER BY子句,则各行按照子句中指定的顺序进行删除.此子句只在与LIMIT联用是才起作用.例如,以下子句用于查找与WHERE子句对应的行,使用timestamp_colu

mysql limit分页优化方法分享_Mysql

同样是取10条数据 select * from yanxue8_visit limit 10000,10 和 select * from yanxue8_visit limit 0,10 就不是一个数量级别的. 网上也很多关于limit的五条优化准则,都是翻译自MySQL手册,虽然正确但不实用.今天发现一篇文章写了些关于limit优化的,很不错. 文中不是直接使用limit,而是首先获取到offset的id然后直接使用limit size来获取数据.根据他的数据,明显要好于直接使用limit.这

MySql日期查询语句详解_Mysql

使用DATE_FORMAT方法SELECT * FROM `ler_items` WHERE DATE_FORMAT(postTime,'%Y-%m')='2013-03'注意:日期一定要用'',否则没有效果其它的一些关于mysql日期查找语句mysql> select date_format(DATE_SUB(CURDATE(), INTERVAL 7 DAY),'%y%m%d');+-------------------–+| date_format(DATE_SUB(CURDATE(),

关于MYSQL的优化全面详解_Mysql

先说一下最常见基本的系统瓶颈: 1.硬盘搜索.现代磁盘的平均时间通常小于10ms,因此理论上我们每秒能够大约搜索1000次,这样我们在这样一个磁盘上搜索一个数据,很难优化,一个办法就是将数据分布在多个磁盘. 2.IO读写.就磁盘来讲,一般传输10-20Mb/s,同样的,优化可以从多个磁盘并行读写. 3.CPU周期.我们将数据读入内存后,需要对它进行处理并获取我们需要的结果.表相对于内存较小时常见的限制因素.但是对于小表,速度通常不成问题. 4.内存带宽.当CPU需要的数据超出CPU缓存,主缓存带