1

いくつかの標準フィールドと、列の 1 つに JSON ドキュメントを含むテーブルがあります。SQL Server 2017 を使用してすべてを格納し、データは Entity Framework 6 を使用する C# アプリケーションによって消費されます。テーブル自体には数万のエントリが含まれる可能性があり、これらのエントリ (またはそれらの JSON 列) は、毎日更新。最高のパフォーマンスを得るために使用するデータ型を見つけようとしています。

私はこれを読みました:

SQL Server 2008 FILESTREAM のパフォーマンス

現在、JSON ドキュメントは 30 ~ 200 KB の範囲のファイルとして提供されていました。256 KB の壁を超える可能性はありますが、1 MB を超える可能性は現在のところ非常に低いです。それは NVARCHAR を指します。ここもまた:

JSON文字列を保存するのに最適なSQLデータ型は何ですか?

人々は、JSON を NVARCHAR(MAX) として保存する方法を提案しています。

ただし、次の 2 つの点が気になります。

  1. まず、非常に多くのライターによる時間の経過に伴う断片化です (これは、列のサイズに関係なく、Filestream が有利であると思われる領域の 1 つです)。それがパフォーマンスにどう影響するかはわかりません...
  2. 2 つ目は、データベースに大量のテキスト データを格納しても、サイズだけが原因で速度が低下しないかどうかはわかりません。私が理解している限り、FileStream のもう 1 つの利点は、ディスク上のファイル サイズに関係なく、データベース サイズのコストがかなり一定であることです。これにより、時間の経過とともにパフォーマンスが維持されます。それとも私が間違っていますか?

私のユースケースを考えると、何を選択しますか?

4

1 に答える 1