SQL Server 2008 DBで監査用に単一のテーブルを使用しています。UPDATEなしのSQL高速INSERT
シングルテーブルアーキテクチャはうまく動作し、クエリが簡単で、スキーマの変更に対応します。
しかし、DB全体の大きなボトルネックです。 INSERTとUPDATESはすべて監査テーブルを通過する必要があります。
すでにSELECTステートメントにNOLOCK HINTを使用しています。
この表には更新がないので、INSERT文のスループットを改善するための提案はありますか?私はなるだろう
私はこれらの行に沿って作業しています。 IDENTITY CLUSTERED PRIMARY KEYを持っているので、最後のページでINSERTが本当にAPPENDになっています。 100%FILL FACTORはナイスなタッチです。 私は毎月のメンテナンスを考えています。レコードを「永続的な」履歴テーブルに移動して、メインテーブルが決して大きくならないようにします。 – pkario
インデックスが絶えず増えていれば、テーブルのサイズさえもそれほど大きな問題ではありません(明らかにselectを除いて) –