我的编程空间,编程开发者的网络收藏夹
学习永远不晚

一次查询优化

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

一次查询优化

一次查询优化

    sql 版本1.0:

        最开始由于测试环境待办表和已办表也会有重复数据,是把代办表和已办表查询结果 union all 后,使用下面方式去重,数据量太大,效率很低。

        ROW_NUMBER() OVER(PARTITION BY REMIND_ID ORDER BY REMIND_ID ) RN

    sql 版本2.0:

        由于生产环境待办表和已办表数据不会重复,修改为把已办表查询结果去重后再与待办表查询结果 union all,效率提升很多。

    sql 版本3.0:

        由于业务引入时间晚于提醒数据,历史数据无需查询,添加时间条件限制,同时也是索引列,在之前基础上查询效率进一步提升。生产最后使用此版本。

        由于历史原因,都是先查询代办表和已办表然后 union all ,最开始由存储过程定时执行查出放到中间表;后来数据同步不及时,放弃中间表改用视图。这种方式使得业务表与提醒表关联的字段并不能触发索引的作用,由于提醒数据会一直增长,sql3.0会遇到瓶颈,于是有尝试了另一个版本。

    sql 版本4.0:

        业务表分别关联代办表和已办表(最外层去重),此处与sql2.0比较,查看执行计划已办表没什么区别,还是走分区;代办表索引起作用,效率提高很多;整体查询效率与sql3.0差不多,加上时间限制也没什么变化,可能由于数据量还不大导致的。虽然这个版本sql比较复杂,考虑后面数据量不断加大,认为这种方式加上时间限制限制条件会有更好的表现。

    思考:

    1.要学会查看 sql 执行计划;

    2.尽量使索引、分区起到应有的作用;

    3.慎用视图,不能因为简化 sql 影响 sql 性能;

 

sql优化文章: https://zhuanlan.zhihu.com/p/72071609

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

一次查询优化

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

一次查询优化

sql 版本1.0:         最开始由于测试环境待办表和已办表也会有重复数据,是把代办表和已办表查询结果 union all 后,使用下面方式去重,数据量太大,效率很低。         ROW_NUMBER() OVER(PARTITION BY
一次查询优化
2019-01-25

mysql优化——查询优化

这一篇mysql优化是注重于查询优化,根据mysql的执行情况,判断mysql什么时候需要优化,关于数据库开始阶段的数据库逻辑、物理结构的设计结构优化不是本文重点,下次再谈。 查看mysql语句的执行情况,判断是否需要进行优化 当感觉操作数据库查询语句速度
mysql优化——查询优化
2016-09-05

一次SQL查询优化原理分析(900W+数据,从17s到300ms)

有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms
一次SQL查询优化原理分析(900W+数据,从17s到300ms)
2014-07-10

一次SQL查询优化原理分析(900W+数据从17s到300ms)

目录前言证实参考资料:有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按
2022-06-13

mysql查询优化

select * from a where id in (select id from b)等价于:for select id from bfor select 8 from a where a.id = b.id当b表数据必须小于a表数据时,in优于exis
mysql查询优化
2022-02-02

优化 SQL 查询

在编写查询时,我们应该始终花时间找到编写查询的最佳方式。 有时,这可能意味着使用表面上看起来速度不快但实际上速度很快的方法。 查询优化对于拥有高效的网站至关重要。虽然查询优化也适用于报告和分析,但作为 web 服务一部分运行的查询是网站用户
优化 SQL 查询
2024-10-14

Mysql查询优化之IN子查询优化方法详解

这篇文章主要给大家介绍了关于Mysql查询优化之IN子查询优化的相关资料,需要的朋友可以参考下
2023-02-09

递归查询的嵌套查询优化

递归查询是一种在数据库中查找层次结构或关联数据的方法。在某些情况下,递归查询可能导致性能问题,因为它们可能需要大量的计算和内存来处理大量的数据。为了优化递归查询,可以采取以下策略:限制递归深度:通过限制递归查询的深度,可以减少查询所需的计算
递归查询的嵌套查询优化
2024-09-08

如何优化MySQL查询

这篇文章给大家介绍如何优化MySQL查询,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。解析器和预处理器一开始,MySQL 的解析器将查询语句拆分成一系列指令并从中构建一棵“解析树”。解析器使用 MySQL 的SQL 语
2023-06-15

MyBatis iterate的查询优化

MyBatis 的 iterate 查询方法提供了一种遍历结果集的方式,通常用于处理大量的数据。然而,当处理大量数据时,性能可能会成为问题。以下是一些优化 iterate 查询的方法:分页查询:避免一次性查询所有数据,而是使用分页查询。这样
MyBatis iterate的查询优化
2024-09-22

mysql查询语句优化

这篇说下mysql查询语句优化是否请求了不需要的数据典型案例:查询不需要的记录,多表关联时返回全部列,总是取出全部列,重复查询相同的数据。是否在扫描额外的记录最简单的衡量查询开销的指标。响应数据扫描的行数返回的行数 访问类型在评估查询开销
2022-05-11

SQL查询优化实践

为什么要优化系统的吞吐量瓶颈往往出现在数据库的访问速度上,即随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢,且数据是存放在磁盘上的,读写速度无法和内存相比如何优化设计数据库时:数据库表、字段的设计,存储引擎利用好MySQL自身提供的功能,如
SQL查询优化实践
2020-10-01

mysql in慢查询优化

目录记一次mysql慢查询优化——生产环境待办列表现场演示5android~6s才加载出来结果;顿时,产品经理的脸挂不住了,作为多年经验的老开发,心想完犊子,脸啪啪滴。不过,秉着多年的江湖经验,遇事不慌,拍个照先。
2023-05-12

编程热搜

目录