T-SQL性能调整——信息收集

原文:T-SQL性能调整——信息收集

IO信息(自服务器启动开始)
--Database IO analysis
WITH    IOFORDATABASE
          AS ( SELECT   DB_NAME(VFS.database_id) AS DatabaseName ,
                        CASE WHEN smf.type = 1 THEN ‘LOG_FILE‘
                             ELSE ‘DATA_FILE‘
                        END AS DatabaseFile_type ,
                        SUM(VFS.num_of_bytes_written) AS IO_Write ,
                        SUM(VFS.num_of_bytes_read) AS IO_Read ,
                        SUM(VFS.num_of_bytes_read + VFS.num_of_bytes_written) AS Total_IO ,
                        SUM(VFS.io_stall) AS IO_STALL
               FROM     sys.dm_io_virtual_file_stats(NULL, NULL) AS VFS
                        JOIN sys.master_files AS smf ON VFS.database_id = smf.database_id
                                                        AND VFS.file_id = smf.file_id
               GROUP BY DB_NAME(VFS.database_id) ,
                        smf.type
             )
    SELECT  ROW_NUMBER() OVER ( ORDER BY io_stall DESC ) AS RowNumber ,
            Databasename ,
            databasefile_type ,
            CAST(1.0 * IO_Read / ( 1024 * 1024 ) AS DECIMAL(12, 2)) AS IO_Read_MB ,
            CAST(1.0 * IO_Write / ( 1024 * 1024 ) AS DECIMAL(12, 2)) AS IO_Write_MB ,
            CAST(1.0 * Total_IO / ( 1024 * 1024 ) AS DECIMAL(12, 2)) AS IO_TOTAL_MB ,
            CAST(IO_STALL / 1000 AS DECIMAL(12, 2)) AS IO_STALL_Seconds ,
            CAST(100. * IO_STALL / SUM(IO_STALL) OVER ( ) AS DECIMAL(10, 2)) AS IO_STALL_Pct
    FROM    IOFORDATABASE
    ORDER BY IO_STALL_Seconds DESC 

统计信息:

1、使用DBCC SHOW_STATISTICS()命令检查。可以查看柱状图和密度信息。

2、使用sys.stats 视图查看表中有多少统计信息。

3、使用sys.stats_columns视图查看哪些列是统计信息的组成部分。

时间: 2024-11-06 07:27:34

T-SQL性能调整——信息收集的相关文章

收集Oracle数据库中的SQL基线信息(一)基础信息收集

Oracle数据库中的SQL基线信息,当数据库出现性能问题时,在业务无法提供相应业务信息时,通过对比SQL基线信息来查找SQL的变化. 查找数据库一天内运行次数大于5000次的sqlid select sql_id,sum(EXECUTIONS_DELTA)from dba_hist_sqlstat a,dba_hist_snapshot b where a.snap_id=b.snap_id and a.INSTANCE_NUMBER=b.INSTANCE_NUMBER and to_char

SQL性能调优

部分转自:http://www.cnblogs.com/luckybird/archive/2012/06/11/2544753.html 及http://www.cnblogs.com/kissdodog/p/3160560.html 着色部分为实际解决问题的过程 最常见的索引问题查找: 1.检查实际执行计划,使用图形化或者在执行语句前增加 set statistics profile on 检查其中操作行数/执行次数/执行时间最多的地方 2.在发现问题的地方,检查表的索引情况,注意其中Row

Oracle性能调整ASH,AWR,ADDM

ASH (Active Session History)ASH以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件.不活动的会话不会采样,采样工作由新引入的后台进程MMNL来完成.ASH buffers 的最小值为1MB,最大值不超过30MB.内存中记录数据.期望值是记录一小时的内容. 生成ASH报告:SQLPLUS>@?/rdbms/ashrpt.sql ASH内存记录数据始终是有限的,为了保存历史数据,引入了自动负载信息库(Automatic Workload Repositor

DB2通用数据库性能调整的常用方法

DB2通用数据库性能调整的常用方法 Agenda 统计值更新--runstats  调整Buffer pool  调整日志缓冲区大小  应用程序堆大小  排序堆大小和排序堆值  代理程序的数目  锁  活动应用程序的最大数目  页清除程序的数目  I/O服务器的数目  编入组的提交数目 统计信息更新 当对SQL 查询进行优化时,SQL 编译器所做出的决定会受到优化器的数据库内容模型的重大影响.  优化器使用该数据模型来估计可以用于解决某个特定查询的其它存取路径的成本.  数据模型中的关键元素是一

全废话SQL Server统计信息(1)——统计信息简介

当心空无一物,它便无边无涯.树在.山在.大地在.岁月在.我在.你还要怎样更好的世界?--张晓风<我在> 为什么要写这个内容? 随着工作经历的积累,越来越感觉到,大量的关系型数据库的性能问题,其根源在于统计信息.这里说的是根源,其实很多时候大家觉得的那些什么索引失效等都只是表象.当然,不能一概而论,还有很多问题如配置问题.设计问题等等,甚至电源也会影响性能. 之所以得出这个结论,因为在常规的开发和部署过程中,一般企业级系统已经大量使用较为高级的磁盘阵列甚至企业级SSD,IO方面的问题已经很少,而

SQL Server统计信息:问题和解决方式

在网上看到一篇介绍使用统计信息出现的问题已经解决方式,感觉写的很全面. 在自己看的过程中顺便做了翻译. 因为本人英文水平有限,可能中间有一些错误. 假设有哪里有问题欢迎大家批评指正.建议英文好的直接看原文:SQL Server Statistics: Problems and Solutions 正文: SQL Server统计信息协助查询优化器计算执行查询的最优方式. Holger描写叙述了常见的统计信息出错的事情,而且怎样改善 通常你不须要太操心运行SQL查询的方式.他们被传送到查询优化器,

数据仓库中的 SQL 性能优化(Hive篇)

一个Hive查询生成多个map reduce job,一个map reduce job又有map,reduce,spill,shuffle,sort等多个阶段,所以针对hive查询的优化可以大致分为针对MR中单个步骤的优化(其中又会有细分),针对MR全局的优化,和针对整个查询(多MR job)的优化,下文会分别阐述. 在开始之前,先把MR的流程图帖出来(摘自Hadoop权威指南),方便后面对照.另外要说明的是,这个优化只是针对Hive 0.9版本,而不是后来Hortonwork发起Stinger

SQL性能优化注意事项

1.选用适合的Oracle优化器 Oracle的优化器共有3种: a.RULE(基于规则) b.COST(基于成本) c.CHOOSE(选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE.COST.CHOOSE.ALL_ROWS.FIRST_ROWS.你当然也在SQL句级或是会话(session)级对其进行覆盖. 为了使用基于成本的优化器(CBO,Cost-Based Optimizer),你必须经常运行analyze命令,以增加数

人人都是 DBA(XI)I/O 信息收集脚本汇编

原文:人人都是 DBA(XI)I/O 信息收集脚本汇编 什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 数据文件和日志文件位置和大小 查看指定数据库文件的大小和可用空间 服务器 Disk 容量和挂载信息 查看 Disk 剩余空间 查询数据库设置的 Recovery Model 查看最近的 Full Backup 信息 获取所有数据库的