mysql查询效率优化之 索引配合LIMIT 来最大化提高查询速度

举例说明百万级或千万级数据表 添加索引来优化查询效率  并 配合 LIMIT 最大化提高查询效率,此方法仅限于返回的结果集庞大。本来条件下就最多返回几条或几十条 就没必要用这个方式来提升效率了。

SELECT *  FROM lqr_member WHERE username = ?   and usertype= ?  

 与

SELECT *  FROM lqr_member WHERE username = ?  and usertype= ?  LIMIT 1000

这两句查询语句其实结果是一样的,username和usertype是一个组合索引,单杀效率远远不同,

当数据在几十万的时候执行查询的时间基本相差几毫秒

当数据在百万级或千万级的时候就会发现SELECT *  FROM lqr_member WHERE username = ?  and usertype= ? 这条语句的效率特别慢,甚至会吃掉你所有的内存报错。

但是第二条缺还能达到秒查的效率。

为什么呢?

因为第一条是返回所有符合条件的数据,如果数据量庞大返回结果集时候就会很慢

第二条不管返回结果集多少只返回前100条 明显效率提升了,一般情况下你根据你的条件进行预估,是否需要把所有的结果集都显示出来,如果不需要建议加个LIMIT条件筛选吧 会大大提升你这方面的体验。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,877评论 18 399
  • 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性...
    CaesarXia阅读 11,923评论 1 30
  • 在mysql中limit可以实现快速分页,但是如果数据到了几百万时我们的limit必须优化才能有效的合理的实现分页...
    bycall阅读 4,068评论 0 5
  • 下载简书这个软件有一个月了,在这一个月里,有事没事都会点开软件看看,看看标题,看看有什么稀奇好玩的事儿,当然啦,遇...
    Z0瑾年阅读 256评论 0 0
  • 把信送给加西亚。 这是一句有魔力的咒语。类似成功学、类似鸡汤学的书也看了不少,现在已经练就了一种分分钟辨别出一本书...
    神烦阅读 255评论 0 1