なぜ私はこれを行うとき:SELECT FROM sys.dm_db_index_usage_statsが2つの行/テーブルを返すのはなぜですか?
をSELECT OBJECT_NAME(OBJECT_ID) AS DatabaseName, last_user_update,*
FROM sys.dm_db_index_usage_stats
WHERE OBJECT_ID=OBJECT_ID('TestTableName')
私はの記録ではなく、1を得るのですか?
last_user_updateを使用して、前回のクエリ呼び出しからのローカルキャッシュデータが最新のものか、またはテーブルが変更されたために古いものがあるかどうかを判断する予定です。
last_user_update列は、このクエリから返される両方のレコードで同じです。最初のレコードの値をそのまま使うことはできますか、それとも違うかもしれませんか?結果については、以下
参照画面キャプチャ:
DatabaseName last_user_update database_id object_id index_id user_seeks user_scans user_lookups user_updates last_user_seek last_user_scan last_user_lookup last_user_update system_seeks system_scans system_lookups system_updates last_system_seek last_system_scan last_system_lookup last_system_update
TestTableName 2016-04-27 07:53:51.740 5 939150391 1 0 101556 101557 6 NULL 2016-04-28 07:27:17.933 2016-04-28 07:27:17.927 2016-04-27 07:53:51.740 0 3 0 0 NULL 2016-04-27 07:52:49.203 NULL NULL
TestTableName 2016-04-27 07:53:51.740 5 939150391 2 101559 3 0 6 2016-04-28 07:27:17.927 2016-04-26 17:31:21.200 NULL 2016-04-27 07:53:51.740 0 1 0 0 NULL 2016-04-27 18:21:53.977 NULL NULL
また、画面キャプチャではIndex_idが1(クラスタ化されたインデックス) – Shaneis
@Shaneis私はそれを見ていませんでした。私は下のテキストを読んで、次の列に属する0を見たように見えます。ありがとう、編集されました。 –
+1 "は、このインデックスを更新できるオペレータを含む実行計画が最後に実行されたことを示し、更新が確実に発生したわけではなく、サービスの再起動後に値がNULLになるか、自動クローズ)。 – TheGameiswar