1

私は使用しますfiletable。SQL Server の からファイルを削除するFileTableときは、フォルダーからファイルを削除し、フォルダーからファイルを削除するときは から削除する必要がありますfiletable

2 番目の質問がfiletableあります。ファイルをサーバーに保存して読み取る (1 MB を超えるファイル) のは、より高速な方法ですか?

4

3 に答える 3

3

DELETE FROM ...最初の質問については、相対行 ( ) を削除してコミットするとすぐにファイルを削除する必要があります。逆方向にも同じことが適用されます (ファイルを削除すると、相対行は消えます)。

これは、ネットワーク共有を介して公開されたファイルに当てはまります。物理ファイルは、復旧モデルとファイル ストリームのガベージ コレクション プロセスに応じて後で削除されます ( sp_filestream_force_garbage_collectionストアド プロシージャを参照してください)。

2 番目の質問については、SQL Server のオーバーヘッドが原因で、純粋なファイル システムよりもアクセスが常に遅くなります (ただし、検索時間は桁違いに速くなります)。

ただし、T-SQL アクセスと比較すると、保存する BLOB のサイズにすべて依存します。一言で言えば、ブロブが 1 MB より小さい場合は、T-SQL を使用する方が高速です。詳細な数値については、「FILESTREAM 実装のベスト プラクティス」を参照してください。

于 2016-11-26T12:08:58.237 に答える
0
DROP TABLE [ IF EXISTS ] [ database_name . [ schema_name ] . | schema_name . ]  
table_name [ ,...n ]  
[ ; ]  

このコードを使用して、ファイル テーブルを削除できます。特定の特定のデータのみを削除する場合は、Tsql ステートメントで where または having 句を使用します。

于 2016-11-26T09:50:54.003 に答える