T SQL效能調整 資訊收集

2021-09-08 03:48:57 字數 1487 閱讀 6436

原文:

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檢視檢視哪些列是統計資訊的組成部分。

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...

T SQL好習慣(收集)

下面是在看博文時認為比較好的t sql編寫的文章,收集一下,規範自己寫t sql的習慣,經常過來看看 一 有關t sql的好習慣 1 在生產環境中不要出現select 把需要的列名寫明白,這樣一是有利於擴充套件,二是避免造成額外的書籤查詢或者是由查詢變成表掃瞄。2 宣告變數時指定長度,變數不宣告長度...

T SQL效能調整(一) 編譯和重新編譯

概念簡介 我們平時所說的查詢在sqlserver 中主要有兩部分來實現 編譯查詢,主要包括了五個環節 快取查詢 分析 代數化 優化 快取新計畫 流程描述 首先,在計畫快取中查詢是否包含新的查詢,如果包含則直接交由執行引擎來執行該快取計畫,跳過編譯階段。其次,如果沒有匹配則執行分析階段 包括引數化 並...