0

テーブル内の実際のデータが約320 MiBである SQL Server データベースに奇妙な状況があります。これはDATALENGTH、すべての列を合計することによって決定されます。これにより、断片化、インデックス スペース、およびその他の SQL Server の内部オーバーヘッドが無視されます。ただし問題は、テーブルのサイズが約40 GiBであり、挿入されたバイトまたは行単位のデータ量に非常に不釣り合いに、驚くべき速さで成長していることです。

関数を使用sys.dm_db_index_physical_statsして物理データを確認したところ、約 40 GiB のデータがLOB_DATA.

テーブルの内容を構成する 320 MiB の大部分はntext. さて、私の質問は、およそ 310 MiB のデータLOB_DATAしかないのに、どうして SQL Server が 40 GiB を割り当てたのかということです。ntext

列を に変換すると問題は解決しnvarchar(max)ますか? ページが再利用されない原因となっているストレージ エンジンの仕様はntextありますか? 行われている変更の量に関して、なぜそれほど不釣り合いな速度で成長しているのでしょうか?LOB_DATALOB_DATA

4

0 に答える 0