0
テーブルが9行10列しかありません。これらの列のうち3つはVarBinaryであり、各行には各列に約12〜30 MBのデータが含まれています。 1行の単純な更新でさえ、20分以上かかり、SQLはタイムアウトします。クエリからVarbinary列を除外しない限り、select文でも約40秒かかります行数は少ないが列の内容が大きいテーブルでは、テーブル操作が非常に遅い
提案があります。ありがとう
テーブルが9行10列しかありません。これらの列のうち3つはVarBinaryであり、各行には各列に約12〜30 MBのデータが含まれています。 1行の単純な更新でさえ、20分以上かかり、SQLはタイムアウトします。クエリからVarbinary列を除外しない限り、select文でも約40秒かかります行数は少ないが列の内容が大きいテーブルでは、テーブル操作が非常に遅い
提案があります。ありがとう
ネットワークまたはIOのボトルネックのような確かな音を更新するのに20分。 PAGEIOLATCH_ * waitsのようなものについてあなたの待機統計を見ましたか?この記事は、パフォーマンスモニタを実行してサブシステムに問題があるかどうかを確認するための参考資料です。https://blogs.msdn.microsoft.com/sqljourney/2013/06/03/how-to-troubleshooting-sql-server-io-bottlenecks/
明白なのはデータベース行に12〜30MBのデータを保存しないことです。より一般的なアプローチは、データベースにクエリーする必要があるメタデータを格納することですが、バイナリデータが物理的に格納されている場所(ファイルシステム、クラウドストレージなど)へのポインタです。 varbinaryデータに対してdb-engine操作を行う必要がない場合は、おそらく他の場所に格納する方がよいでしょう。 –
どのようなデータですか?ファイルの内容が一部の場合は、ファイルを別の場所に保存し、ファイルパスをデータベースに格納してください。 –
SQL Serverのfilestreamを使用する方法もあります。 – FLICKER