`

分页的优化

 
阅读更多

1、索引列大于法

SELECT id FROM table WHERE id>(SELECT id FROM table ORDER BY id LIMIT $start,1) ORDER BY id LIMIT $length;

30万数据时,加order by效率提高不多(1秒左右),不加order by 效率提高一半

10万数据时,效率提高明显。

2、超过半数逆序分页法。

意为判断分页开始id是否超过总数的一半,如果超过一半则反写sql,减小了LIMIT里面的offset值,从而提高效率。

30万数据,假如原SQL语句是ORDER BY id LIMIT 200000,20,可改写为ORDER BY id DESC LIMIT 99980,20,效率提高超过一个数量级。

3、使用临时表缓存索引列,分页时使用临时表,获取到id用IN子查询。

SELECT id FROM table WHERE id IN(SELECT id FROM table_tmp LIMIT $start,$length);

4、还可以用分页表,实验如下:

查询mysql表的最后一页的数据:

mysql> select * from t_group where 1 limit 10324547,20;
20 rows in set (4.88 sec)
 
mysql> select a.* from t_wordlist as a inner join t_wd_ids as b where a.id = b.wd_id and b.id = 516227;
20 rows in set (0.01 sec)
分享到:
评论

相关推荐

    数据库分页优化技术分析与实现

    在介绍数据库分页优化技术时,首先应当明确传统分页查询方法所存在的问题。在传统方法中,分页查询通常采用(limit, offset)方式,但这种方式随着数据量的增长及翻页数量的增加,查询效率会显著降低。尤其在数据量较...

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

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

    sybase分页优化带排序

    总之,Sybase分页优化带排序是一个涉及多方面技术的问题,包括选择合适的分页方法、利用窗口函数、优化索引、使用存储过程等。在实际操作中,应根据具体的数据规模、查询模式和系统资源来制定最佳策略。通过这些方法...

    百万级数据库记录下的Mysql快速分页优化实例

    ### 百万级数据库记录下的MySQL快速分页优化实例 #### 概述 在处理大量数据时,如何高效地进行分页查询是一项重要的技术挑战。本文档将详细探讨当面对百万乃至千万级别数据记录时,如何优化MySQL的分页查询性能。...

    MySql分页优化

    ### MySQL分页优化的核心概念 分页是数据库操作中的常见需求,特别是在Web应用中,用户界面通常会以分页的形式展示数据列表。MySQL通过`LIMIT`子句来实现分页功能,但是当数据量巨大时,传统的`LIMIT`分页方法可能...

    jquery分页优化操作实例分析

    本文实例讲述了jquery分页优化操作。分享给大家供大家参考,具体如下: 前言 上次写了博客 jquery分页显示,文章的jquery分页方式虽然可以通过js实现分页,但是也存在明显的弊端。 该篇文章的思路是,每次通过ajax...

    在大数据情况下MySQL的一种简单分页优化方法

    本文将深入探讨一种简单的分页优化策略,它可以帮助改善翻页查询的效率。 首先,我们来看一个实际的例子。在上述场景中,查询一个具有大量数据的`reply_0004`表的最后一页,通过`thread_id`和`deleted`字段筛选,...

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

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

    Oracle 10g数据库海量数据分页查询优化.pdf

    Oracle 10g 数据库海量数据分页查询优化 本文主要介绍 Oracle 10g 数据库中的一种优化的海量数据分页查询解决方案。该方案通过分析传统分页查询技术的不足,融合了多种技术,包括数据库优化策略、SQL 语句优化、...

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

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

    MySQL优化案例系列-mysql分页优化

    本文将深入探讨MySQL分页查询的优化技术。 ### 分页查询的传统方法及问题 在MySQL中,通常使用`ORDER BY ... LIMIT start, offset`的方式来进行分页查询。这种查询方式是通过给定一个起始位置(start)和偏移量...

    JSP+MYSQL+Java类优化分页的实例

    ### JSP+MYSQL+Java类优化分页的实例解析 #### 概述 在Web开发中,分页是一项常见的功能,用于处理大量数据时的显示问题。本文将深入解析一个结合了JSP、MYSQL和Java类优化分页的实例,探讨其设计思路、实现原理...

    Mysql百万级分页优化技巧

    MySQL中的分页优化对于处理大数据量的表格至关重要,特别是当数据量达到百万级时,普通的分页方式会导致显著的性能下降。以下将详细介绍普通分页和优化分页两种策略,并探讨如何利用索引来提高查询效率。 ### 普通...

    mysql 分页优化解析

    (这里只是提出一个设想,欢迎大家一起讨论) ASP的分页:在ASP系统中有Recordset对象来实现分页,但是大量数据放在内存中,而且不知道什么时候才失效(请ASP高手指点). SQL数据库分页:用存储过程+游标方式分页,...

    xianglujun#handbook#Mysql分页优化方法1

    mysql分页查询方法及其优化方法一语句样式: mysql中,可用如下方法: select * from 表名称 limit offset, pagesize使

    基于ASP.NET缓存与分页策略优化Web数据查询性能

    在基于ASP.NET的分页优化模型中,当用户首次请求数据时,系统会从数据库中一次性提取一个“虚拟页”(包含多页实际数据),然后将这个虚拟页进一步分割成多个实际页,并将这些数据缓存到Web服务器上。这样,当用户...

Global site tag (gtag.js) - Google Analytics