`

mysql limit 优化

阅读更多
 
关于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/ 

 

  • 大小: 6.5 KB
  • 大小: 9.6 KB
分享到:
评论

相关推荐

    MYSQL分页limit速度太慢的优化方法

    以下是一些针对MySQL `LIMIT` 分页速度慢的优化方法: 1. **避免大`OFFSET`值**: 当`OFFSET`值很大时,MySQL会跳过很多行才能到达需要返回的数据。例如,`LIMIT 200000, 10`需要扫描200010行,这是非常低效的。...

    Mysql limit 优化,百万至千万级快速分页 复合索引的引用并应用于轻量级框架

    MySQL的LIMIT子句在处理大数据量的分页查询时可能会遇到性能问题,特别是在处理百万乃至千万级别的数据。本文主要探讨了如何优化此类查询,并通过实际案例分析了解决方案。 首先,我们关注到当LIMIT用于较大的偏移...

    MySQL数据库优化SQL篇PPT课件.pptx

    从执行计划、SELECT语句、IN和EXIST语句、LIMIT语句、RAND函数、Order by、Group by、Distinct和Count等方面对MySQL数据库优化进行了详细的讲解。 一、执行计划 执行计划是MySQL数据库优化的重要步骤。执行计划...

    mysql分页之limit优化技巧

    本文档针对mysql分页之limit慢的问题,使用联合索引在大数据量的情况下优化limit分页的性能

    mysql性能优化教程.pdf (by caoz)

    ### MySQL性能优化知识点详解 #### 一、背景及目标 - **目的**:厦门游家公司(4399.com)为了提升员工技能水平,制定了这份MySQL性能优化教程,旨在为已有一定MySQL使用经验的工程师提供实战指导。 - **适用场景*...

    Mysql Limit 分页查询优化详解

    总的来说,MySQL LIMIT分页查询的优化主要集中在减少不必要的行扫描、利用索引以及采用更适合大数据量的查询策略。通过这些方法,可以显著提升分页查询的性能,尤其是对于那些需要跳过多行的情况。在实际应用中,应...

    mysql分页的limit参数简单示例

    Mysql的分页的两个参数 select * from user limit 1,2 ... 您可能感兴趣的文章:详解MySQL的limit用法和分页查询语句的性能分析MYSQL分页limit速度太慢的优化方法mysql limit分页优化方法分享Mysql limit

    MySQL性能优化 SQL优化方法技巧

    ### MySQL性能优化与SQL优化方法技巧 #### 一、引言 MySQL作为一款广泛使用的开源关系型数据库管理系统,其性能优化对于确保应用系统的稳定性和高效运行至关重要。通过对MySQL的优化,不仅能提升系统的响应速度,还...

    mysql limit查询优化分析

    Limit语法: 复制代码 代码如下:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET ...为了与 PostgreSQL 兼容,MySQL 也支持句法:LIMIT # OFFSET #。 eg: 复制代码 代码如下:mysql> SELECT * FROM table L

    十三MySQL性能优化详解.pdf

    MySQL 性能优化详解 MySQL 是目前使用最多的开源数据库,但是 MySQL 数据库的默认设置性能非常的差,仅仅是一个玩具数据库。因此,在产品中使用 MySQL 数据库必须进行必要的优化。优化是一个复杂的任务,本文描述 ...

    详解mysql的limit经典用法及优化实例

    理解`LIMIT`的不同用法和其潜在的性能问题对优化MySQL查询至关重要。在处理大数据量时,应尽量避免使用大偏移量,而是采用子查询或其他优化策略来提高查询效率。对于分页需求,可以考虑存储分页信息(如上一页或...

    mysql limit分页优化详细介绍

    本文将深入探讨如何优化MySQL中的LIMIT分页查询,以提高数据库查询效率。 首先,理解LIMIT的工作原理至关重要。LIMIT用于指定返回结果集的数量,通常与ORDER BY一起使用,以确定返回哪一部分数据。当OFFSET值较大时...

    MySQL Limit性能优化及分页数据性能优化详解

    MySQL中的`LIMIT`子句是用于限制SQL查询返回的行数,特别适用于分页查询,即在网页或其他界面中按页显示数据。然而,当处理大量数据时,不恰当的`LIMIT`使用可能会导致显著的性能下降。以下是对`LIMIT`性能优化及...

    Mysql性能优化教程.doc

    ### MySQL性能优化教程知识点概述 #### 一、MySQL执行优化 **1.1 背景及目标** - **背景**: 针对已具备一定MySQL使用经验的工程师,特别是适用于高并发、海量数据处理的互联网环境。 - **目标**: 通过对MySQL性能...

    MySQL GUI Tools MYSQL优化工具

    - **查询优化**: 优化SQL语句,避免全表扫描和子查询,使用JOIN代替子查询,合理使用LIMIT和ORDER BY。 - **存储引擎选择**: 根据数据访问模式选择合适的存储引擎,如InnoDB支持事务处理,MyISAM适合读取密集型...

Global site tag (gtag.js) - Google Analytics