`
chenzehe
  • 浏览: 538166 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MySQL LIMIT分页查询优化

 
阅读更多

当数据量大的时候一般的分页就吃不消了,先是把COUNT(*)计算总数的SQL给去掉,然后再优化LIMIT查询

 

传统分页查询:SELECT c1,c2,cn... FROM table LIMIT n,m

 

MySQL的limit工作原理就是先读取前面n条记录,然后抛弃前n条,读后面m条想要的,所以n越大,偏移量越大,性能就越差。

 

推荐分页查询方法:

1、 SELECT c1,c2,cn... FROM table WHERE id>=20000 LIMIT 10;

 

2、子查询法

SELECT c1,c2,cn... FROM table WHERE id>=

(

    SELECT id FROM table LIMIT 20000,1

)

LIMIT 10;

 

3、高性能MySQL一书中提到的只读索引方法

优化前SQL: SELECT c1,c2,cn... FROM member ORDER BY last_active LIMIT 50,5
优化后SQL: SELECT c1,c2,cn... FROM member INNER JOIN (SELECT member_id FROM member ORDER BY last_active LIMIT 50, 5) USING (member_id)
分别在于,优化前的SQL需要更多I/O浪费,因为先读索引,再读数据,然后抛弃无需的行。而优化后的SQL(子查询那条)只读索引(Cover index)就可以了,然后通过member_id读取需要的列。

 

4、第一步用用程序读取出ID,然后再用IN方法读取所需记录

程序读ID:SELECT id FROM table LIMIT 20000,10;

SELECT c1,c2,cn... FROM table WHERE id IN(id1,id2,idn...)

 

分享到:
评论

相关推荐

    Mysql Limit 分页查询优化详解

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

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

    MySQL中的分页查询是Web应用中常见的操作,但随着数据量的增长,`LIMIT`语句在处理大量数据时性能会显著下降。特别是当`OFFSET`值增大时,MySQL需要扫描更多的行来找到需要的数据,这可能导致查询速度变慢,甚至对...

    关于Mysql分页的两种方法,假分页和limit分页

    假分页适合数据量小、对服务器压力不敏感的场景,而LIMIT分页则更适合数据库分页,特别是配合索引和优化策略,能有效提高查询效率。在实际应用中,应根据具体需求和数据规模选择合适的分页方式,以达到最佳的性能和...

    mysql分页之limit优化技巧

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

    nodejs mysql 实现分页的方法

    Node.js结合MySQL实现分页查询是一种常见的数据处理方式,在Web应用中尤为常见。分页可以有效提高页面的响应速度,并优化用户的浏览体验。本文主要介绍了在Node.js环境下,如何使用MySQL数据库实现分页功能。 首先...

    mysql分页的limit参数简单示例

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

    MySQL 百万级分页优化(Mysql千万级快速分页)

    ### MySQL 百万级分页优化(Mysql千万级快速分页) #### 背景与挑战 在处理大规模数据集时,例如拥有数百万乃至数千万条记录的数据库表,传统的分页查询方法可能会遇到性能瓶颈。特别是使用`LIMIT`进行分页时,随着...

    易语言MYSQL数据库分页查询

    在IT领域,数据库操作是至关重要的,特别是在处理大量数据时,分页查询是提高系统性能、优化用户体验的有效手段。易语言作为一款中国本土化的编程语言,提供了与MySQL数据库交互的能力,使得开发者能够轻松实现...

    Oracle,SQl,MySql实现分页查询

    ### Oracle、SQL、MySQL 实现分页查询方法详解 在数据库操作中,分页查询是一项非常重要的技术,尤其是在处理大量数据时。本文将基于提供的文件信息,深入探讨三种不同的分页查询方法及其在Oracle、SQL Server...

    C++实现MySQL分页查询

    本篇文章将深入探讨如何利用C++实现MySQL的分页查询功能,这对于处理大量数据时提高系统性能和用户体验至关重要。 首先,我们需要引入MFC(Microsoft Foundation Classes)库,这是一个由Microsoft为Windows平台...

    mysql limit分页优化详细介绍

    总的来说,MySQL的LIMIT分页优化是数据库性能调优的重要环节。通过巧妙地改变查询方式,合理利用索引,以及调整应用程序设计,可以显著改善LIMIT分页查询的性能。在处理大数据集时,这些优化技巧显得尤为重要,因为...

    JDBC-MySQL分页查询

    本教程将深入探讨如何使用JDBC和MySQL实现分页查询。 首先,我们需要理解分页的基本概念。分页是将大型数据集分割成较小、更易管理的部分,通常每页包含一定数量的记录。在Web应用中,这通常通过设置“每页条目数”...

    ssm的mysql分页查询

    总的来说,SSM框架结合PageHelper插件能方便地实现MySQL的分页查询,通过合理配置和优化,可以在保证用户体验的同时,显著提升系统的性能。在实际开发中,应结合具体业务需求,选择最适合的分页策略。

    mysql数据库实现分页

    总结,MySQL的分页功能是处理大数据量查询的关键技术,通过合理使用`LIMIT`和`OFFSET`,配合索引优化,可以有效地提高查询效率,提升用户交互体验。同时,随着版本升级,MySQL提供了更多分页策略和技术,如窗口函数...

    高效的MySQL分页

    在MySQL数据库管理中,分页查询是常见的操作,特别是在数据量庞大的情况下,为了提高用户体验,分页能够有效...同时,持续关注数据库性能监控,及时调整和优化查询策略,对于保持系统稳定和提升用户体验具有重要意义。

    如何优化Mysql千万级快速分页

    MySQL 千万级快速分页优化方案 在实际开发中,我们经常会遇到 MySQL 数据库的性能问题,特别是在处理千万级数据时,分页查询的性能会变得非常慢。在这篇文章中,我们将探讨如何优化 MySQL 千万级快速分页,详细介绍...

    mysql_海量数据库的查询优化及分页算法方案.doc

    使用查询优化器可以自动优化查询语句,例如:EXPLAIN SELECT * FROM table1 WHERE name=’张三’ AND tID > 10000。 四、结论 本文详细介绍了 MySQL 海量数据库的查询优化和分页算法方案,包括查询优化的原理、...

    mysql分页查询

    为了解决这个问题,可以考虑使用`ROW_NUMBER()`窗口函数(MySQL 8.0及以上版本支持),或者结合`WHERE`条件和`ORDER BY`来优化查询。 ### 结论 MySQL的分页查询在Java开发中起着关键作用,理解其原理和优化策略...

Global site tag (gtag.js) - Google Analytics