关于mysql limit查询优化思路
1. 思路一:先全部走索引(避免其它数据读取,或者此时索引都在内存中),拿到主键,再查一遍
- 场景:
1.二级索引 KEY `ind_wlb_ext_order_item_itemid` (`seller_id`,`item_id`,`status`)
2.seller_id = 2023990209, 有42000条数据 - 执行
– SELECT * FROM wlb_ext_order_item where seller_id = 2023990209 limit 100, 1000; // 0.046ms
– SELECT * FROM wlb_ext_order_item where seller_id = 2023990209 limit 1000, 1000; // 0.063ms
– SELECT * FROM wlb_ext_order_item where seller_id = 2023990209 limit 40000, 1000; // 0.279ms - 优化
– SELECT * from wlb_ext_order_item m, (SELECT id from wlb_ext_order_item where seller_id = 2023990209 limit 40000, 1000) t WHERE m.id = t.id; // 0.062ms
explain查看执行计划:
1.SELECT * FROM wlb_ext_order_item where seller_id = 2023990209 limit 40000, 1000; // 0.279ms
2.SELECT * from wlb_ext_order_item m, (SELECT id from wlb_ext_order_item where seller_id = 2023990209 limit 40000, 1000) t WHERE m.id = t.id; // 0.062ms
2. 思路二:利用主键自身的顺序特性
http://www.fuchaoqun.com/2009/04/efficient-pagination-using-mysql/
相关推荐
以下是一些针对MySQL `LIMIT` 分页速度慢的优化方法: 1. **避免大`OFFSET`值**: 当`OFFSET`值很大时,MySQL会跳过很多行才能到达需要返回的数据。例如,`LIMIT 200000, 10`需要扫描200010行,这是非常低效的。...
MySQL的LIMIT子句在处理大数据量的分页查询时可能会遇到性能问题,特别是在处理百万乃至千万级别的数据。本文主要探讨了如何优化此类查询,并通过实际案例分析了解决方案。 首先,我们关注到当LIMIT用于较大的偏移...
从执行计划、SELECT语句、IN和EXIST语句、LIMIT语句、RAND函数、Order by、Group by、Distinct和Count等方面对MySQL数据库优化进行了详细的讲解。 一、执行计划 执行计划是MySQL数据库优化的重要步骤。执行计划...
本文档针对mysql分页之limit慢的问题,使用联合索引在大数据量的情况下优化limit分页的性能
### MySQL性能优化知识点详解 #### 一、背景及目标 - **目的**:厦门游家公司(4399.com)为了提升员工技能水平,制定了这份MySQL性能优化教程,旨在为已有一定MySQL使用经验的工程师提供实战指导。 - **适用场景*...
总的来说,MySQL LIMIT分页查询的优化主要集中在减少不必要的行扫描、利用索引以及采用更适合大数据量的查询策略。通过这些方法,可以显著提升分页查询的性能,尤其是对于那些需要跳过多行的情况。在实际应用中,应...
Mysql的分页的两个参数 select * from user limit 1,2 ... 您可能感兴趣的文章:详解MySQL的limit用法和分页查询语句的性能分析MYSQL分页limit速度太慢的优化方法mysql limit分页优化方法分享Mysql limit
### MySQL性能优化与SQL优化方法技巧 #### 一、引言 MySQL作为一款广泛使用的开源关系型数据库管理系统,其性能优化对于确保应用系统的稳定性和高效运行至关重要。通过对MySQL的优化,不仅能提升系统的响应速度,还...
Limit语法: 复制代码 代码如下:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET ...为了与 PostgreSQL 兼容,MySQL 也支持句法:LIMIT # OFFSET #。 eg: 复制代码 代码如下:mysql> SELECT * FROM table L
MySQL 性能优化详解 MySQL 是目前使用最多的开源数据库,但是 MySQL 数据库的默认设置性能非常的差,仅仅是一个玩具数据库。因此,在产品中使用 MySQL 数据库必须进行必要的优化。优化是一个复杂的任务,本文描述 ...
理解`LIMIT`的不同用法和其潜在的性能问题对优化MySQL查询至关重要。在处理大数据量时,应尽量避免使用大偏移量,而是采用子查询或其他优化策略来提高查询效率。对于分页需求,可以考虑存储分页信息(如上一页或...
本文将深入探讨如何优化MySQL中的LIMIT分页查询,以提高数据库查询效率。 首先,理解LIMIT的工作原理至关重要。LIMIT用于指定返回结果集的数量,通常与ORDER BY一起使用,以确定返回哪一部分数据。当OFFSET值较大时...
MySQL中的`LIMIT`子句是用于限制SQL查询返回的行数,特别适用于分页查询,即在网页或其他界面中按页显示数据。然而,当处理大量数据时,不恰当的`LIMIT`使用可能会导致显著的性能下降。以下是对`LIMIT`性能优化及...
### MySQL性能优化教程知识点概述 #### 一、MySQL执行优化 **1.1 背景及目标** - **背景**: 针对已具备一定MySQL使用经验的工程师,特别是适用于高并发、海量数据处理的互联网环境。 - **目标**: 通过对MySQL性能...
- **查询优化**: 优化SQL语句,避免全表扫描和子查询,使用JOIN代替子查询,合理使用LIMIT和ORDER BY。 - **存储引擎选择**: 根据数据访问模式选择合适的存储引擎,如InnoDB支持事务处理,MyISAM适合读取密集型...