`

sql 优化之-分页查询

阅读更多

      最近想留出一些时间对系统中的一些sql语句做一下优化,包括索引的优化。在此贴出一些测试sql 和测试结果。

      

#mysql5.1
#表中数据100000条
#表t_group_topic.id 自增主键
#以下通过不同的查询方式 和 在created_at 有无索引测试结果  

select * from t_group_topic order by created_at desc  limit 0,40

taking 312ms  no index
taking 0.9ms  yes index

select * from t_group_topic order by created_at desc  limit 50000,40

taking 627ms no index
taking 624ms yes index

select * from t_group_topic order by created_at desc  limit 90000,40

taking 937 ms no index
taking 956 ms yes index




 select x.* from t_group_topic  x inner join
  (select id from t_group_topic order by created_at desc limit 0,40 ) y on x.id = y.id
taking 316 ms no
taking 0.8ms  yes


m t_group_topic  x inner join
  (select id from t_group_topic order by created_at desc limit 50000,40) y on x.id = y.id
taking 312ms no
taking 19.5ms yes


 select x.* from t_group_topic  x inner join
  (select id from t_group_topic order by created_at desc limit 90000,40) y on x.id = y.id

taking 312 ms no
taking 30.2ms yes

 

    从以上信息可以看出,大数据分页查询时最好先过滤要查询的id 再用id做查询条件进行查询。这样可以充分的利用索引。

    对order by 关键字构建适当的索引,可以大大提高查询速度。

分享到:
评论

相关推荐

    千万级数据分页查询存储过程SQLServer

    在SQL Server中,面对千万级别的大数据量,进行有效的分页查询是数据库性能优化的重要环节。存储过程在这种场景下显得尤为重要,因为它们可以提高查询效率,减少网络传输,并且便于管理和重用代码。本文将深入探讨...

    java语言的分页查询功能(mysql和sql server)

    本教程将详细讲解如何在Java中实现不分框架的分页查询,同时涵盖对MySQL和SQL Server数据库的支持。 一、基础知识 1. 分页概念:分页是将大量数据按一定数量分成若干部分,每次只加载一部分到内存中显示,用户可以...

    SQL server 分页查询

    SQL Server作为微软推出的一款关系型数据库管理系统,在处理复杂查询、数据分页等方面提供了丰富的功能和优化策略。本文将深入探讨SQL Server中的分页查询技术,帮助读者掌握如何高效地进行数据分页,以提升应用程序...

    sqlserver --游标 实现数据分页

    在SQL Server中实现数据分页是一项常见的需求,尤其是在处理大量数据时,为了提高查询效率和用户体验,分页显示数据成为了数据库设计中的一个关键点。在给定的代码示例中,作者通过创建一个存储过程`proc_cursor`来...

    MyBatis-Plus 分页查询以及自定义sql分页的实现

    MyBatis-Plus 是一个基于 ...总的来说,MyBatis-Plus 的分页查询功能强大且灵活,既支持自动化的物理分页,也允许用户根据需要自定义 SQL。通过合理的配置和使用,可以极大地提高开发效率,同时优化数据库的性能。

    oracle分页查询sql

    为了进一步优化分页查询的性能,可以使用HINT来指定查询优化器的行为。例如,可以通过添加`/*+ FIRST_ROWS */`提示来优先处理分页查询的第一批结果。 ```sql SELECT /*+ FIRST_ROWS */ FROM ( SELECT A.*, ROWNUM ...

    15oracle的PL/SQL编程-分页 PPT

    在实际应用中,应考虑以下几点以优化分页查询的性能: 1. 避免在`ORDER BY`子句中使用复杂表达式或不带索引的列,因为这会导致全表扫描。 2. 使用索引可以显著提高排序速度,尤其是对于大表,应为用于分页的关键列...

    MySQL DQL - 分页查询.md

    通过这种方式,我们可以轻松地实现数据的分页显示,极大地提升了用户体验,并且减少了每次查询的负载,对于大型数据库应用来说是非常重要的优化手段之一。无论是对于初学者还是有经验的开发人员,掌握分页查询都是...

    java 连接sqlserver数据库查询,并分页显示

    在Java编程中,连接SQL Server数据库并执行查询是常见的任务,尤其当涉及到大量数据时,分页显示就显得尤为重要。...分页查询则是优化大量数据展示的重要手段。希望这篇文章能帮助你更好地理解和实践这个过程。

    SQLServer数据库分页查询

    在实际的数据库操作中,分页查询是非常常见的需求之一。对于大型数据集来说,一次加载所有数据到前端显示是不现实的,这不仅会增加服务器负担,还会影响用户体验。因此,采用分页技术将数据分割成若干个页面进行显示...

    SQL脚本------存储过程分页示例

    为了优化分页,我们可以使用“ ROW_NUMBER() OVER()”窗口函数(在支持此功能的数据库如SQL Server、PostgreSQL和Oracle中)。这个函数为每个查询结果分配一个唯一的行号,然后我们可以在存储过程中根据这个行号进行...

    基于SQL的分页查询功能,很强大的哦

    本话题将深入探讨如何利用SQL进行分页查询,以及如何在.NET环境中优化这种查询,以实现高效的数据访问。 首先,让我们关注“分页查询”。分页是当数据量过大时,为了提高用户体验和减少网络传输,将结果集分割成多...

    python数据分析与可视化-13-分页查询.ev4.zip

    分页查询的SQL语句与上述示例类似,只是调用的库函数不同。 对于`pymysql`: ```python import pymysql conn = pymysql.connect(host='localhost', user='user', password='passwd', db='db', charset='utf8...

    T-SQL经典分页语句

    其中,分页查询是数据展示中极为常见且重要的需求,尤其是在处理大量数据时,有效地进行分页不仅可以提升用户体验,还能优化数据库性能。以下是对给定文件中提到的T-SQL经典分页语句及其应用场景的深入解析。 ### ...

    sql分页查询

    ### SQL分页查询详解 #### 一、引言 在数据库操作中,分页查询是一项非常重要的技术。尤其是在处理大量数据时,一次性加载所有数据到前端不仅效率低下,还可能导致性能问题。通过分页查询,我们可以按需获取数据,...

    SQL Server2005分页查询

    在SQL Server 2005中,分页查询是一个常见的需求,特别是在处理大量数据时,为了提高用户体验,通常需要一次性加载一定数量的数据,而不是一次性显示所有数据。以下将详细讲解SQL Server 2005中分页查询的常用方法。...

    delphi分页查询 利用sql2000存储过程分页

    在数据库管理中,分页查询是一项重要的功能,它允许用户以较小的数据量逐步浏览大量记录,提高...正确地设计和优化分页查询对于处理大数据集的应用至关重要,它有助于提供流畅的用户体验,同时保持数据库的高效运行。

    分页的sql总结

    在众多的SQL操作中,分页查询是数据库管理员和开发人员频繁使用的场景之一,尤其是在处理大量数据时,有效地进行分页不仅能够提升查询性能,还能优化用户体验。以下是对分页SQL查询技术的深入解析,旨在帮助读者理解...

    通用的存储过程sql分页查询语句

    优化分页查询: 1. 避免在ORDER BY子句中使用计算表达式或不索引的列,这会导致全表扫描,降低效率。 2. 使用覆盖索引,如果只读取部分列,确保这些列包含在索引中,以减少I/O操作。 3. 考虑使用“索引倒序”策略,...

Global site tag (gtag.js) - Google Analytics