exists改写SQL,使其走正确的执行计划

时间:2022-09-12 15:34:38

数据库环境:SQL SERVER 2005

  今天看到一条SQL,写得不是很复杂,返回7000多条数据,却执行了15s。SQL文本及各表的数据量如下:

SELECT  acinv_07.id_item ,
SUM(acinv_07.dec_endqty) dec_endqty
FROM acinv_07
WHERE acinv_07.fiscal_year * 100 + acinv_07.fiscal_period = ( SELECT DISTINCT
ctlm1101.fiscal_year
* 100
+ ctlm1101.fiscal_period
FROM
ctlm1101
WHERE
flag_curr = 'Y'
AND id_oprcode = 'acinv'
AND acinv_07.id_wh = ctlm1101.id_table
)
GROUP BY acinv_07.id_item
----------------------------------------
SELECT COUNT(*)
FROM ctlm1101
WHERE flag_curr = 'Y'
AND id_oprcode = 'acinv'-- SELECT COUNT(*)
FROM acinv_07--

  我们先看看一下SQL的执行计划

exists改写SQL,使其走正确的执行计划

  2个表关联走的是嵌套循环,且大表acinv_07是驱动表,ctlm1101被扫描了1347176次,

ctlm1101.id_table是连接列,且关联后再对acinv_07.fiscal_year * 100 + acinv_07.fiscal_period过滤,

因此,慢是自然的了。

  那我们是否可以改写后,根据原SQL的意思,我们用Exists改写成如下,核对数据无误

SELECT  acinv_07.id_item ,
SUM(acinv_07.dec_endqty) dec_endqty
FROM acinv_07
WHERE EXISTS ( SELECT NULL
FROM ctlm1101
WHERE flag_curr = 'Y'
AND id_oprcode = 'acinv'
AND acinv_07.id_wh = ctlm1101.id_table
AND ctlm1101.fiscal_year = acinv_07.fiscal_year
AND ctlm1101.fiscal_period = acinv_07.fiscal_period )
GROUP BY acinv_07.id_item

  改写之后,执行计划走的是哈希连接,数据一查询是秒出。我们来分析改写后的执行计划,

小表ctlm1101作为哈希连接的驱动表,id_table,fiscal_year,fiscal_period作为连接列,和大表acinv_07

关联时过滤了大部分数据,所以通过哈希匹配可以快速返回所有结果。

aaarticlea/png;base64,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" alt="" />

exists改写SQL,使其走正确的执行计划的更多相关文章

  1. 收集统计信息让SQL走正确的执行计划

    数据库环境:SQL SERVER 2005 今天在生产库里抓到一条跑得慢的SQL,语句不是很复杂,返回的数据才有800多行, 却执行了34分钟,甚至更久. 先看一下执行结果 我贴一下SQL. SELE ...

  2. 浅析SqlServer简单参数化模式下对sql语句自动参数化处理以及执行计划重用

    我们知道,SqlServer执行sql语句的时候,有一步是对sql进行编译以生成执行计划, 在生成执行计划之前会去缓存中查找执行计划 如果执行计划缓存中有对应的执行计划缓存,那么SqlServer就会 ...

  3. SQL点滴27—性能分析之执行计划

    原文:SQL点滴27-性能分析之执行计划 一直想找一些关于SQL语句性能调试的权威参考,但是有参考未必就能够做好调试的工作.我深信实践中得到的经验是最珍贵的,书本知识只是一个引导.本篇来源于<I ...

  4. SQL优化--使用 EXISTS 代替 IN 和 inner join来选择正确的执行计划

    在使用Exists时,如果能正确使用,有时会提高查询速度: 1,使用Exists代替inner join 2,使用Exists代替 in 1,使用Exists代替inner join例子: 在一般写s ...

  5. SQL Sever 2008性能分析之执行计划

    一直想找一些关于SQL语句性能调试的权威参考,但是有参考未必就能够做好调试 2的工作.我深信实践中得到的经验是最珍贵的,书本知识只是一个引导.本篇来源于<Inside Microsoft SQL ...

  6. SQL Server INSET&sol;UPDATE&sol;DELETE的执行计划

    DML操作符包括增删改查等操作方式. insert into Person.Address (AddressLine1, AddressLine2, City, StateProvinceID, Po ...

  7. oracle表的统计信息完全正确,执行计划无故改变。原厂人员如是回复

    就像在电话里提到的那样,Oracle内部的优化器是根据一系列的内部算法基于表上的统计信息来产生执行计划的.对于特别复杂的SQL语句,Oracle的优化器有一定几率不能得到最优的执行计划(因为机器代码实 ...

  8. SQL Server 性能调优 之执行计划(Execution Plan)调优

    SQL Server 存在三种 Join 策略:Hash Join,Merge Join,Nested Loop Join. Hash Join:用来处理没有排过序/没有索引的数据,它在内存中把 Jo ...

  9. SQL Server如何查看存储过程的执行计划

    有时候,我们需要查看存储过程的执行计划,那么我们有什么方式获取存储过程的历史执行计划或当前的执行计划呢? 下面总结一下获取存储过程的执行计划的方法. 1:我们可以通过下面脚本查看存储过程的执行计划,但 ...

随机推荐

  1. sql server 自增长id 允许插入显示值

    --允许插入显示插入主键id的值SET IDENTITY_INSERT [T0002_SType] ON 执行insert插入语句------------------ --关闭 插入显示值SET ID ...

  2. 使用percona-xtrabackup实现对线上zabbix监控系统数据库mariadb5&period;5&period;47的主从同步

    使用percona-xtrabackup实现对线上zabbix监控系统数据库的主从同步 业务背景: zabbix3.0.4是业务的主要监控,部署在一台单机中,为避免数据丢失先对其做数据主从同步,因主数 ...

  3. Web App时代的缓存机制新思路

    Web App常见架构 以WebQQ例,WebQQ这个站点的所有内容都是一个页面里面呈现的,我们看到的类似windows操作系统的框架,是它的*容器和框架,由AlloyOS的内核负责统筹和管理,然后 ...

  4. Grok debugger

    http://www.cnblogs.com/vovlie/p/4227027.html http://it.taocms.org/10/5802.htm

  5. python基础操作

    1.打印操作 print('2222') 2.接收用户输入 name=input('name') 3.if else判断 name='qiao'name2='师弟'username=input('输入 ...

  6. iOS开发实战-卫P嗯上网项目

    写在前面 最近闲来无事,又跟小伙伴搞起.一.键.上.网.的项目,于是这个项目就来了. 很高兴App 已经过审 有兴趣的可以玩玩牛牛数据

  7. tf&period;nn&period;in&lowbar;top&lowbar;k原理探究

    import tensorflow as tf; A = [[0.8,0.6,0.3], [0.1,0.6,0.4],[0.5,0.1,0.9]] B = [0,2,1] out = tf.nn.in ...

  8. P3317 &lbrack;SDOI2014&rsqb;重建(Matrix-tree&plus;期望)

    P3317 [SDOI2014]重建 详情看这位神犇的blog 剩下的注释在code里吧....... #include<iostream> #include<cstdio> ...

  9. MagicalRecord使用中的注意事项

    MagicalRecord使用中的注意事项 使用CoreData [1] 使用CoreData [2] 使用CoreData [3] 使用CoreData [4] 使用MagicalRecord操作C ...

  10. 进阶篇:2)DFMA方法的运用

    本章目的:DFMA方法运用,引导后面的章节.(运用比只理解重要!) 1.DFMA概述 1.1 DFMA的由来 工艺粗略可分为装配工艺和制造工艺.在这里,我们所讲的“制造”是指产品或部件的某个零件的制造 ...