`
freeheron
  • 浏览: 68178 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

原来可以这样优化数据量大时mysql中limit的查询

阅读更多

一直来,系统中总有几百万的数据,变态的QA总是要测试几十万页的翻页。对于Mysql来说,翻到几十万页之后,常规的查询的肯定会慢了。还好用户不会这样去用。只有QA才会提这种‘无礼’的要求。

对于查询:

    select * from table limit 1000000,20

当然会慢得不行了。

现在终于发现了,还可以这样改写:

   select * from table a,(select id from table limit 1000000,20) b where a.id=b.id

这样就快得不是一点半点了。以前真是笨了^_^

 


看来,使用MySQL,还是得多动动脑筋来重写SQL来改善查询性能的。

分享到:
评论
3 楼 qingfeng825 2011-09-02  
我看懂了,
虽然文章不多,但是质量还蛮高的,
坚持写啊。
2 楼 uule 2011-08-31  
也没看懂。。。
1 楼 Durian 2011-08-31  
没看懂

相关推荐

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

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

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

    - **原因/缺点**:此方法通过全表扫描来获取指定范围内的记录,因此当数据量较大时,查询速度会非常慢。此外,由于LIMIT是基于结果集的偏移量定位记录,因此每次查询的结果顺序可能会有所不同,这对于需要稳定排序的...

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

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

    MySQL海量数据查询优化策略.

    18. 限制返回的数据量:使用LIMIT来减少返回给客户端的数据量可以减轻服务器负载,并且提高查询响应速度。 19. 避免使用SELECT *:在只需要部分列时,应当明确指出需要哪些列,减少数据传输的量。 20. 考虑事务的...

    mysql分页之limit优化技巧

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

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

    1. **大数据量处理**:当数据库中的数据达到百万甚至亿级时,单线程查询可能导致响应时间过长,用户体验下降。因此,采用有效的方法对大量数据进行处理至关重要。 2. **多线程**:多线程是并发编程的一种方式,允许...

    高效处理MySQL中的大数据量插入与查询策略

    ### 高效处理MySQL中的大数据量插入与查询策略 在数据驱动的世界中,数据库系统面临着巨大的挑战,尤其是在处理大量数据时。对于像MySQL这样的关系型数据库管理系统而言,大数据量的插入和查询操作可能会成为性能...

    C#在MySQL大量数据下的高效读取、写入详解

    在C#中与MySQL数据库进行大规模数据交互时,性能优化是关键,特别是在处理千万级别的数据。本文将探讨如何高效地读取和写入大量数据,主要分为三个步骤:解决读取问题、数据处理和数据插入。 ### 第一步:解决读取...

    基于MySQL的数据库查询性能优化.pdf

    通过大量的实验测试,我们发现,适当的数据表索引、SQL 查询语句中的 "limit" 和 "*" 优化、id 限定分页查询和查询缓存技术可以大大提高数据库的响应速度。 结论 本文总结了数据库查询性能优化的重要性和影响...

    mysql limit查询优化分析

    尽管LIMIT在进行数据分页时非常便捷,但在处理大数据量时,LIMIT查询可能会遇到性能瓶颈,特别是在涉及到大偏移量(offset)的查询时。因此,了解如何优化LIMIT查询对于提升数据库性能具有重要意义。 首先,我们来...

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

    但缺点也很明显,当数据量大时,一次性加载所有数据可能导致网络延迟,服务器负担加重,且用户端也需要消耗更多的内存和计算资源。 相比之下,LIMIT分页是MySQL数据库内置的分页机制,它在服务器端直接处理分页,只...

    Mysql Limit 分页查询优化详解

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

    mysql数据库数据优化

    当表中的数据量非常大,且某些列经常被一起查询时,可以考虑将大表拆分成小表。范式化有助于减少数据冗余,但过度范式化可能会导致查询时需要多次连接,影响性能,此时反范式化可以作为一种优化手段,通过增加冗余...

    提升MYSQL查询效率的10个SQL语句优化技巧.doc

    在数据库应用中,MySQL 查询效率对程序的执行速度有很大的影响。有效的处理优化数据库是非常有用的,尤其是大量数据需要处理的时候。以下是十个 SQL 语句优化技巧来提升 MYSQL 查询效率: 1. 优化 MySQL 查询缓存 ...

    mysql分页查询优化,大数据量优化

    传统的mysql分页查询 ...特别是上线后数据量积累比较快,必须重视SQL优化,否则影响系统运行和用户使用体验 性能实验 直接用limit start, count分页语句, 也是我程序中用的方法: select * from table lim

    Mysql_limit.zip_limit

    虽然`LIMIT`对查询结果的大小进行了限制,但如果不配合索引,尤其是大偏移量时,查询性能可能会降低。因为数据库需要扫描超过`offset`行才能找到要返回的数据。 6. 使用`LIMIT`优化查询: - 尽量减少`offset`值,...

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

    - **子查询优化:** 通过一个子查询找到`m`位置上的时间点,然后在主查询中基于这个时间点进行限制,可以减少回表的数据量。例如,先找出第`m`个时间点,然后获取之后的`n`个记录。这种方式减少了全表扫描和回表的...

    mysql数据库In的优化.txt

    通过本文介绍的方法,我们可以有效地优化使用`IN`子句时的查询性能。在实际应用中,根据具体情况选择合适的优化方案是非常重要的。例如,在处理大量数据时,使用临时表或分批处理通常是更好的选择;而在处理少量数据...

    mysql10w级别的优化.pdf

    一个更有效的分页查询方式是使用“select id from collect where id >= (select id from collect order by id limit 90000,1) limit 10”,这样可以有效减少MySQL需要处理的数据量。 5. 数据表结构优化 合理设计...

    使用limit,offset分页场景时为什么会慢

    在SQL查询中,使用`LIMIT`和`OFFSET`进行分页操作在大数据量的情况下可能会变得极其缓慢。这是因为`OFFSET`需要跳过指定数量的行,而数据库必须读取并忽略这些行,这在数据量大的情况下会涉及大量的I/O操作,尤其是...

Global site tag (gtag.js) - Google Analytics