利用查询提示优化SQL
数据库环境:SQL SERVER 2005
我们来看一下SQL语句及对应的数据量
SELECT COUNT(*)
FROM cinvout_02 a
WHERE ( a.dept_id IN ( SELECT RTRIM(dept_id)
FROM ctlm2320
WHERE user1_id = ''
AND zone_id = '' )
OR a.dept_id = ''
OR ( a.dept_id IN ( SELECT RTRIM(b.dept_id)
FROM ctlm2320 a ,
ctlm1003 b
WHERE a.zone_id = b.zone_id
AND a.user1_id = ''
AND a.zone_id <> '' ) )
)
AND a.out_time >= '2014-07-01'
AND a.out_time <= '2014-07-12'
AND a.sts_flag = 'S' ---------------------数据量-------------------------
SELECT COUNT(*)
FROM cinvout_02 a
WHERE a.out_time >= '2014-07-01'
AND a.out_time <= '2014-07-12'
AND a.sts_flag = 'S'-- SELECT COUNT(*)
FROM ctlm2320
WHERE user1_id = ''
AND zone_id = ''-- SELECT COUNT(*)
FROM ctlm2320 a ,
ctlm1003 b
WHERE a.zone_id = b.zone_id
AND a.user1_id = ''
AND a.zone_id <> ''--
数据量不是很大,cinvout_02也走了索引查找,而且返回的数据才有214317行。按理说应该不会太慢,
可是,真实情况是,整条SQL要跑4分多钟才全部出结果。
光靠猜是得不出答案的,我们通过执行计划来分析为什么会出现这种情况。
aaarticlea/png;base64,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" alt="" />
看一下圈红的地方,2张表/结果集关联走的是Nested Loops,且结果集相对较大,因此,这地方应该走hash join。
直接在SQL后面加上提示option(hash join)即可。
强制走hash join后,执行计划直接开并行,并将2个结果集并行。
aaarticlea/png;base64,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" alt="" />
好了,我们对比一下加查询提示前后SQL的耗时。
原来SQL耗时
利用查询提示优化SQL的更多相关文章
- SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行)
前言 前面几篇我们分析了关于SQL Server关于性能调优的一系列内容,我把它分为两个模块. 第一个模块注重基础内容的掌握,共分7篇文章完成,内容涵盖一系列基础运算算法,详细分析了如何查看执行计划. ...
- SQL Server 调优系列玩转篇一(如何利用查询提示(Hint)引导语句运行)
前言 前面几篇我们分析了关于SQL Server关于性能调优的一系列内容,我把它分为两个模块. 第一个模块注重基础内容的掌握,共分7篇文章完成,内容涵盖一系列基础运算算法,详细分析了如何查看执行计划. ...
- Sql Server优化之索引提示----我们为什么需要查询提示,Sql Server默认情况下优化策略选择的不足
环境: Sql Server2012 SP3企业版,Windows Server2008 标准版 问题由来: 最近在做DB优化的时候,发现一个存储过程有非常严重的性能问题, 由于整个SP整体逻辑是一个 ...
- SQL Server 利用锁提示优化Row_number()-程序员需知
网站中一些老页面仍采用Row_number类似的开窗函数进行分页处理,此时如果遭遇挖坟帖的情形可能就需要漫长的等待且消耗巨大.这里给大家介绍根据Row_number()特性采用特定锁Hint提升查询速 ...
- 【转】利用 force index优化sql语句性能
今天写了一个统计sql,在一个近亿条数据的表上执行,200s都查不出结果.SQL如下: select customer,count(1) c from upv_** where created bet ...
- 利用 force index优化sql语句性能
[转自:https://blog.csdn.net/bruce128/article/details/46777567]并进行总结 今天写了一个统计sql,在一个近亿条数据的表上执行,200s都查不出 ...
- 再一次利用with as 优化SQL
上海的一个哥们问我有个SQL跑了4个小时都没跑完,实在受不了了,找我优化一下.我确实挺佩服他的,要是我遇到跑了几分钟的,就受不了了. SQL语句和执行计划如下: --sql id:1qbbw3th4x ...
- 利用ordered hints优化SQL
SQL_ID 4g70n3k9bqc5v, child number 0 ------------------------------------- MERGE INTO YJBZH_GRXDFHZ ...
- 使用SQL 提示优化sql
use index 在查询语句中表名的后面,添加use index来提供希望mysql去参考的索引列表,就可以让mysql不再考虑其他可用的索引 explain select * from renta ...
随机推荐
- ecshop模板修改后还原的原因
转:http://www.ecmoban.com/article-1693.html 有些刚接触 ecshop的朋友会遇到这样的问题:今天刚修改好的一个地方,等过一段时间后台操作了一会之后发现修改过的 ...
- [转]NHibernate之旅(10):探索父子(一对多)关联查询
本节内容 关联查询引入 一对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 关联查询引入 在NHibernate中提供了三种查询方式给我们选择:NH ...
- python三元运算符
在c.php里面,都有三元运算符,如: a = b?c:d 意思是 b 的运算结果如果是True,那么整个表达式a就等于c,反之如果b的运算结果是False,那么a就等于d. 这样写起来简洁又高效 ...
- poj 1654 Area(多边形面积)
Area Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 17456 Accepted: 4847 Description ...
- QEMU MIPIS远程共享ubuntu主机的文件
尝试啦很多中办法,最终选择以在QEMU模拟器中ssh 远程登入的方式访问主机,并用sshfs 挂载 主机端的文件到模拟器中,实现模拟器访问主机端的代码. SSH分客户端openssh-client和o ...
- CF 294C(Java大数做计数)
题目链接:http://codeforces.com/contest/294/problem/C 代码: import java.util.*; import java.math.*; public ...
- YII 权限管理
CREATE TABLE IF NOT EXISTS `admin_role` ( `id` ) unsigned NOT NULL auto_increment, `name` ) NOT NULL ...
- onethink对二维数组结果集进行排序
<?php /** * 对查询结果集进行排序 * @access public * @param array $list 查询结果 * @param string $field 排序的字段名 * ...
- Java的redis 操作类-优化通用版本
java操作redis多节点处理方式;http://blog.itpub.net/29254281/viewspace-1188644/首先maven引入依赖包 <dependency> ...
- onkeyup 事件会在键盘按键被松开时发生
定义和用法 onkeyup 事件会在键盘按键被松开时发生. 语法 onkeyup="SomeJavaScriptCode" 参数 描述 SomeJavaScriptCode 必需. ...