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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。