WEB开发网
开发学院数据库MSSQL Server SQL Server: 揭开隐藏数据的面纱,优化应用程序性... 阅读

SQL Server: 揭开隐藏数据的面纱,优化应用程序性能

 2009-02-07 10:20:32 来源:WEB开发网   
核心提示: Figure 1SQL Query Records Causes of Wait Times运行此脚本所得的结果会列出等待类型,并按花费的总等待时间排序,SQL Server: 揭开隐藏数据的面纱,优化应用程序性能(3),通过示例结果可看出,I/O 作为一种等待原因排在相对靠前的位置,请注

Figure 1SQL Query Records Causes of Wait Times

运行此脚本所得的结果会列出等待类型,并按花费的总等待时间排序。通过示例结果可看出,I/O 作为一种等待原因排在相对靠前的位置。请注意,我只关注逻辑 I/O(在内存中读/写数据)而不关注物理 I/O,因为最初加载数据后,数据通常位于内存中。

读和写

I/O 使用率较高可能表示数据访问机制不良。SQL Server 2005 跟踪每个查询满足其需要所使用的读写总数。您可以将这些数字相加,确定哪些数据库执行的总体读写操作最多。

sys.dm_exec_query_stats DMV 包含已缓存查询计划的汇总性能统计数据。此统计数据包含有关逻辑读写数量和已执行查询次数的信息。将此 DMV 联接到 sys.dm_exec_sql_text DMF 后,可以按数据库将读写数量加起来。请注意,我使用新的 SQL Server 2005 CROSS APPLY 运算符处理此联接操作。图 2 显示了用于确定哪些数据库使用读写操作最多的脚本。

SQL Server: 揭开隐藏数据的面纱,优化应用程序性能Figure2Identifying the Most Reads and Writes

SELECT TOP 10
    [Total Reads] = SUM(total_logical_reads)
    ,[Execution count] = SUM(qs.execution_count)
    ,DatabaseName = DB_NAME(qt.dbid)
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
GROUP BY DB_NAME(qt.dbid)
ORDER BY [Total Reads] DESC;
SELECT TOP 10
    [Total Writes] = SUM(total_logical_writes)
    ,[Execution count] = SUM(qs.execution_count)
    ,DatabaseName = DB_NAME(qt.dbid)
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
GROUP BY DB_NAME(qt.dbid)
ORDER BY [Total Writes] DESC;

SQL Server: 揭开隐藏数据的面纱,优化应用程序性能

上一页  1 2 3 4 5 6 7 8  下一页

Tags:SQL Server 揭开

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接