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视图查看哪些列是统计信息的组成部分。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值