SQL Server(2014)でIO STATISTICSの出力を理解し、AdventureWorksをデータベースとして使用しようとしています。さまざまなキャッシュをクリーニングした後でも、論理的な読み込みがIOスタティックで表示されるのはなぜですか?
は、ここでは、コードにある
DBCC FREESYSTEMCACHE('ALL')
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE
DBCC FLUSHPROCINDB(7)
CHECKPOINT
DBCC DROPCLEANBUFFERS
SET STATISTICS TIME ON
SET STATISTICS IO ON
SELECT * FROM [HumanResources].[Employee]
SET STATISTICS TIME OFF
SET STATISTICS IO OFF
出力は
SQL Serverの実行時間である: CPU時間= 0ミリ秒、経過時間= 0ミリ秒。
(290行が該当) テーブル '従業員'。スキャン回数1、論理は物理的には1を読み込み、9を読み込み、先読みが7を読み込み、ロブ論理は、ロブ物理的には0を読み込み、0を読み込み、先読みは0
SQL Serverの実行時間読み込むロブ: CPUを時間= 15ms、経過時間= 105ms。
すべてのキャッシュとバッファをクリーニングした後でも、なぜ論理読み取りが0になるのではなく、物理読み取りが10になるのはなぜですか(すでに1つの+ 9ページの論理読み取り)?論理的な読み取りの私の理解は、データキャッシュから読み取られたページの数です(言い換えれば、SQL Serverのテーブルのデータのキャッシュ)。