`
hudeyong926
  • 浏览: 2037417 次
  • 来自: 武汉
社区版块
存档分类
最新评论

MySQL大数据量分页查询方法及其优化

 
阅读更多

分页的2种写法

SELECT keyword FROM keyword_rank WHERE advertiserid='59' order by keyword LIMIT 2 OFFSET 1;

 比如这个SQL ,limit后面跟的是2条数据,offset后面是从第1条开始读取

SELECT keyword FROM keyword_rank WHERE advertiserid='59' order by keyword LIMIT 2 ,1;

 而这个SQL,limit后面是从第2条开始读,读取1条信息。这两个千万别搞混哦。

那么 返回第pagenumber页,每页条数为pagesize的sql语句写法为

SELECT keyword FROM keyword_rank LIMIT (pagenumber-1)*pagesize,pagesize;
SELECT keyword FROM keyword_rank LIMIT pagesize OFFSET (pagenumber-1)*pagesize;

 

分页程序原理很简单,大数据分页时,当页数越靠后的话,执行的时间会越长,这个时候我们就需要找到一种更快的查询办法来替代这种操作了

select * from product limit 10, 20   0.016秒
select * from product limit 100, 20   0.016秒
select * from product limit 1000, 20   0.047秒
select * from product limit 10000, 20   0.094秒
select * from product limit 866613, 20   37.44秒

来自雅虎的几位工程师带来了一篇”EfficientPagination Using MySQL”的报告

LIMIT 10000, 20的意思扫描满足条件的10020行,扔掉前面的10000行,返回最后的20行,问题就在这里。

 

优化方法

SELECT * FROM your_table WHERE id> 
(SELECT id FROM your_table ORDER BY id desc LIMIT ($page-1)*$pagesize,1 ORDER BY id desc)
LIMIT $pagesize

有查询条件的情况,利用复合索引来优化或者用elasticsearch

分享到:
评论

相关推荐

    MySQL百万级数据量分页查询方法及其优化建议

    在MySQL中,面对百万级数据量的分页查询,如何高效地进行操作并优化查询性能是数据库管理员和开发人员必须关注的问题。以下是一些常用的方法和优化建议: 1. **直接使用LIMIT语句**:这是最基础的分页查询方式,如`...

    nodejs mysql 实现分页的方法

    需要特别注意的是,虽然分页查询能够提高性能和用户体验,但大量数据的分页查询在处理时仍需谨慎。对于大数据集,如果使用不当,仍然可能导致性能下降和资源浪费。因此,在实际应用中需要根据具体数据量和应用场景来...

    详细讲解MySQL大数据量分页SQL语句优化

    分页程序原理很简单,这里就不多说了,本篇文章主要说的是在数据表记录量比较大的情况下,如何将分页SQL做到更优化,让MySQL执行的更快的方法。

    大数据量多线程执行分页查询

    3. **分页查询**:分页是一种优化大数据量查询的技术,它将结果集分割成多个小块(页面),每次只返回用户请求的一部分数据。这样不仅可以减轻服务器压力,还能减少网络传输的负担,提高响应速度。 4. **C#线程**:...

    易语言MYSQL数据库分页查询

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

    MySQL千万级大表深度分页为什么慢,以及优化的方法、原理

    - **分页优化插件:** MySQL有一些插件如`Page_Cursor`,可以优化分页查询性能。 - **数据归档:** 对于历史数据,可以考虑归档处理,降低在线数据量。 - **数据预热:** 将经常访问的数据部分加载到内存中,减少...

    C++实现MySQL分页查询

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

    mysql数据库实现分页

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

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

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

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

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

    ssm的mysql分页查询

    在处理大数据量时,分页查询是必不可少的功能,可以有效地减少数据库压力,提高系统性能。下面我们将深入探讨如何在SSM框架下实现MySQL的分页查询。 首先,我们来理解分页查询的基本概念。分页查询是指在获取数据时...

    MySQL百万级数据分页查询优化方案

    在MySQL中,分页查询是处理大量数据时不可或缺的手段,但随着数据量的增加,传统的`LIMIT`分页方式可能会导致性能问题。当面对百万级数据时,我们需要对分页查询进行优化,以避免对服务器造成过大的压力。本文将详细...

    大数据量分页

    在IT行业中,大数据量分页是一项重要的技术,特别是在Web应用中,当用户需要浏览大量数据时,如电子商务网站的产品列表或社交媒体平台的消息流。分页能够有效地管理并展示这些数据,提高用户体验,同时减轻服务器...

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

    在MySQL数据库中,分页是实现大量数据查询时不可或缺的功能,它可以帮助用户按需加载数据,提高网页加载速度,减少服务器资源消耗。本篇文章将详细探讨两种常见的分页方法:假分页和LIMIT分页。 首先,我们来理解...

    c#大数据量分页 大型数据分页程序

    在.NET开发环境中,C#是一种常用的编程语言,尤其在企业级应用中,处理大数据量的分页查询是一项常见的任务。本篇文章将详细讲解如何在C#中实现高效的大数据量分页程序,以及如何利用提供的源码进行实践。 首先,...

    高效的MySQL分页

    然而,这种方法在大数据量下效率低下,因为`OFFSET`会跳过前面的行,这会导致数据库执行大量的扫描操作。随着页数的增加,性能下降会更加明显。 为了解决这个问题,我们可以采用以下两种优化策略: 1. **索引优化*...

    JDBC-MySQL分页查询

    当我们处理大量数据时,分页查询变得尤为重要,因为它能够有效地提高网页加载速度,改善用户体验。本教程将深入探讨如何使用JDBC和MySQL实现分页查询。 首先,我们需要理解分页的基本概念。分页是将大型数据集分割...

    Oracle,SQl,MySql实现分页查询

    本文将基于提供的文件信息,深入探讨三种不同的分页查询方法及其在Oracle、SQL Server(这里用SQL代替)、MySQL中的实现方式,并对它们的性能进行对比分析。 #### 分页方案一:利用Not In和SELECT TOP分页 **基本...

Global site tag (gtag.js) - Google Analytics