--调优SQL

--sqlreview ->logshipping -> ag辅助副本

--查看正确的执行计划 打开实际的执行计划
set statistics io on

--查看错误的执行计划 打开实际的执行计划
set statistics io on

--对比 正确和错误 执行计划的差别
紧盯最大返回记录数处,找最粗的,不要看cost百分比 没用!
找出问题点,是否走错了索引,或未走做引

--对于缺失索引的 创建索引
use SiccDB
sp_spaceused CDRSub_Current_Merge --116GB

create index idx_CDRSub_Merge_Truncated on CDRSub_Current_Merge(TIME_IN) with(online=on)

--对于走错的索引的 释放错误的执行计划
select sql_handle,* from sys.dm_exec_requests where session_id=77

DBCC FREEPROCCACHE (0x060006001ECA270EC0215D05000000000000000000000000);
GO

--更新索引统计信息
update statistics CDRSub_Current_Merge
update statistics CDRSub_Current_Merge idx_CDRSub_Merge_Truncated

--再次运行sql,查看是否正常

--更新统计信息无效,查看索引碎片率的情况
更新过统计信息后 实际返回行和评估返回行 还是有差距的话,需要查看索引是否碎片严重

SELECT avg_fragmentation_in_percent,* FROM sys.dm_db_index_physical_stats
(DB_ID(N'SiccDB'), OBJECT_ID(N'dbo.CDRSub_Current_Merge'), NULL, NULL , 'LIMITED');

use SiccDB
go
ALTER INDEX [idx_CDRSub_Merge_Truncated] on [dbo].[CDRSub_Current_Merge] rebuild WITH( ONLINE = ON ) --重建索引
ALTER INDEX [idx_anino] on [dbo].[CDRSub_Current_Merge] rebuild WITH( ONLINE = ON )
ALTER INDEX [idx_dnisno] on [dbo].[CDRSub_Current_Merge] rebuild WITH( ONLINE = ON )

--删除走错的索引,不推荐
exec configdb..spm_index_usages 'SiccDB','CDRSub_Current_Merge' --查看走错的索引最后一次使用时间,判断是否为无效索引! 对于无效索引 可以删除!

use SiccDB
go
DROP INDEX [idx_anino] ON [dbo].[CDRSub_Current_Merge]

--最后使用临时表
修改写法,采用临时表,按正常的执行计划顺序,一步步落数

注意:临时表会造成tempdb的page latch争用,并发量大的语句不推荐使用临时表

调优SQL思路的更多相关文章

  1. 我如何调优SQL Server查询

    我是个懒人,我只想干尽可能少的活.当我干活的时候我不想太多.是,你没看错,这看起来很糟糕,作为一个DBA这很不合格.但在今天的文章里,我想给你展示下,当你想对特定查询创建索引设计时,你如何把你的工作和 ...

  2. SQL注入漏洞和SQL调优SQL注入漏洞和SQL调优

    SQL注入漏洞和SQL调优 最近读了程序员的SQL金典这本书,觉得里面的SQL注入漏洞和SQL调优总结得不错,下面简单讨论下SQL注入漏洞和SQL调优. 1. SQL注入漏洞 由于“'1'='1'”这 ...

  3. 数据库性能调优——sql语句优化(转载及整理) —— 篇2

    下面是在网上搜集的一些个人认为比较正确的调优方案,如有错误望指出,定虚心改正 (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中 ...

  4. 利用sql_tuning_Advisor调优sql

    1.赋权给调优用户 grant ADVISOR to xxxxxx; 2.创建调优任务 使用sql_text创建 DECLARE my_task_name VARCHAR2 (30); my_sqlt ...

  5. MySQL 性能调优——SQL 查询优化

    如何设计最优的数据库表结构,如何建立最好的索引,以及如何扩展数据库的查询,这些对于高性能来说都是必不可少的.但是只有这些还不够,要获得良好的数据库性能,我们还要设计合理的数据库查询,如果查询设计的很糟 ...

  6. 标量子查询调优SQL

    fxnjbmhkk4pp4 select /*+ leading (wb,sb,qw) */ 'blocker('||wb.holding_session||':'||sb.username||')- ...

  7. 数据库性能调优——sql语句优化(转载及整理) —— 篇1

    一.问题的提出                    在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实 ...

  8. 十分钟释疑Oracle中“小表超慢”之谜(SQL调优/SQL优化)

    前几天,一个用户找到我,说查一个小表的时候非常慢,我问有多慢,他说最快也得半个小时才能出结果,有时干脆不出结果,我说小表多大,他说就几十兆,有点疑惑,让他帮忙获取了相关信息,一看就明白了,原来所谓的小 ...

  9. Destoon B2B 调优SQL后 生成首页仍然慢或不成功的原因

    修改php.ini文件,查找 ;date.timezone = ,把前面的分号去掉在 “=”后面加上时区. 比如:Asia/Shanghai (上海) 自动task有上面的问题 但后台生成时这样修改后 ...

随机推荐

  1. java并发编程(三)线程挂起,恢复和终止的正确方法

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/17095733    下面我们给出不用上述两个方法来实现线程挂起和恢复的策略--设置标志位. ...

  2. 将List下载到本地保存为Excel

    直接附上代码 /// <summary> /// 将List保存为Excel /// </summary> /// <typeparam name="T&quo ...

  3. 那些年一起用过的iOS开发利器之Parse

    阅读此文章需要对Objective-C和iOS有一定的了解,完全没有基础的朋友请先阅读<让不懂编程的人爱上iPhone开发>系列教程. 什么是后台服务(back-end service)? ...

  4. grpc例子

    grpc是google在github于2015年开源的一款RPC框架,虽然protobuf很早google就开源了,但是google一直没推出正式的开源框架,导致github上基于protobuf的r ...

  5. alternatives命令用法

    alternatives是Linux下的一个功能强大的命令.只能在根权限下执行.如系统中有几个命令功能十分类似,却又不能随意删除,那么可以用替代指定一个全局的设置.alternatives常用于同一个 ...

  6. context上下文 php版解释

    context翻译为上下文其实不是很好,只是翻译理解大概的作用,对于开发来说,context是对定义的使用的变量,常量或者说是配置, 部分的函数功能除了缺省值之外,往往需要手动设置一些定义量来配合当前 ...

  7. 合并多个工作薄workbooks到一个工作薄workbook

    微软示例教程 微软示例教程 Sub MergeAllWorkbooks() Dim SummarySheet As Worksheet Dim FolderPath As String Dim NRo ...

  8. Python 打包工具cx_freeze 问题记录及解决办法

    在节前的最后一天,解决了打包过程中遇到的所有问题,可以成功运行了!真是个好彩头,希望新的一年一切顺利! 以下是在使用cx_freeze过程中遇到的问题及解决办法(Win7) 问题描述:运行exe,启动 ...

  9. MySql unique的实现原理简析

    1.测试过程如下: CREATE TABLE `test` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) DEFAULT NULL, PRIMARY KEY ( ...

  10. Java语言程序设计(基础篇)第一章

    第一章 计算机.程序和Java概述 1.1 引言 什么是程序设计呢? 程序设计就是创建(或者开发)软件,软件也称为程序. 1.2 什么是计算机 计算机是存储和处理数据的电子设备,计算机包括硬件(har ...