私は職場で非常に特定のパフォーマンスの問題を抱えています!
私たちが使用しているシステムには、現在のワークフロー プロセスに関する情報を保持するテーブルがあります。フィールドの 1 つは、プロセスに関するメタデータを含むスプレッドシートを保持します (理由は聞かないでください!! 変更できません!!)
問題は、このスプレッドシートが SQL Server 2005 (SQL 2000 互換のデータベース セット内) の IMAGE フィールドに格納されていることです。
このテーブルには現在 22,000 行以上あり、次のような単純なクエリもあります。
SELECT TOP 100 *
FROM OFFENDING_TABLE
Query Analyser でデータを取得するのに 30 秒かかります。
SQL 2005 への互換性を更新することを考えています (アプリがそれを処理できると知らされたら)。
私が考えている 2 番目のことは、列のデータ型を変更することですが、varbinary(max)
これを行うとアプリケーションに影響するかどうかはわかりません。
私が検討しているもう 1 つのことは、現在のようsp_tableoption
に を に設定するために使用するlarge value types out of row
ことですが、これを行うとパフォーマンスが向上するかどうかについては情報がありません。1
0
そのようなシナリオでパフォーマンスを向上させる方法を知っている人はいますか?
明確にするために編集
私の問題は、アプリケーションが SQL Server に何を要求するかを制御できないことです。また、いくつかのリフレクションを実行し (アプリは .NET 1.1 Web サイトです)、問題のあるフィールドを、私にはわからない内部的なものに使用します。それは何ですか。
このテーブルの全体的なパフォーマンスを改善する必要があります。