問題タブ [sqlfilestream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
159 参照

c# - バイト配列をSQLファイルストリームから元のファイルに戻します

mssql サーバーでファイルストリームをセットアップしましたが、これまでのところうまく機能しています。現在、手動で追加したエンティティがデータベースに 1 つあります。

ファイルを追加すると、自動的に byte[] に変換され、.NET Core アプリケーションを介してファイルを取得すると、同様に byte[] として表示されます (驚き)。

このバイト配列を元のファイルにデコードする方法を教えてください。それを行うには、ファイルの元の拡張子を提供する必要があるといういくつかの場所を読みました。

ただし、データベースにそのような列を追加していません-そのような列を簡単に追加できますが、追加のパラメーターを提供せずに元の形式に戻すことができない場合、奇妙に思えます。

したがって、何らかの包括的な変換を行うことなく、ユーザーが簡単にダウンロードできるように、バイト配列を元のファイルに戻す方法はありますか? あなたの一人が私にここでの方向性を示すことができれば、私は喜んで知りたい.

0 投票する
1 に答える
481 参照

sql - データベース列に JSON を格納する - NVARCHAR(MAX)、FileStream?

いくつかの標準フィールドと、列の 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 つの利点は、ディスク上のファイル サイズに関係なく、データベース サイズのコストがかなり一定であることです。これにより、時間の経過とともにパフォーマンスが維持されます。それとも私が間違っていますか?

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