2

SQL Server Management Studio の SQL サーバー オプションで Statistics Time を有効にすると、次の情報が得られます。

SQL Server の解析時間とコンパイル時間: CPU 時間 = 15 ミリ秒、経過時間 = 47 ミリ秒。

(1745 行が影響を受ける)

SQL Server 実行時間: CPU 時間 = 31 ミリ秒、経過時間 = 99 ミリ秒。SQL Server の解析時間とコンパイル時間: CPU 時間 = 0 ミリ秒、経過時間 = 0 ミリ秒。

ミリ秒単位で 4 回あります。では、クエリの実行にかかった実際の時間はどれですか? 彼らは相対的ではないようです。

4

1 に答える 1

1

「クエリの実行にかかった時間」の意味によって異なります

解析時間は、構文をチェックし、高度に正規化されたタスクのリストを作成することにより、クエリを準備するのにかかる時間です。

Copile Timeは、Algerbrizerを介してクエリを実行するのにかかる時間です(これは、オブジェクト名をオブジェクトIDなどに変換し、クエリの実行プランを選択または作成するコンポーネントです。

これらの2つのフェーズを合わせてかかる時間は、解析時間とコンパイル時間として記録されます。

実行時間は、コンパイルされたプランを実際に実行または実行するのにかかった時間です。したがって、クエリの実行にかかる時間を意味する場合、これはSQLServer実行時間の下の経過時間です。

ただし、実行を押した瞬間からクエリが完了するまでにかかる時間を意味する場合、これは、[解析時間]セクションと[コンパイル時間]セクション、および[SQLServer実行時間]セクションの両方の経過時間の合計です。

CPU時間([解析とコンパイル]セクションと[実行時間]セクションの両方)は、プロセッサがこのセクションでの作業に費やした時間です。したがって、期間の計算では、CPU時間を無視できます。

于 2012-09-26T19:49:45.417 に答える