Wie kann die Leistung in SQL Server-Tabellen mit Bildfeldern verbessert werden?

Ich habe ein ganz besonderes Leistungsproblem bei der Arbeit!

In dem von uns verwendeten System befindet sich eine Tabelle mit Informationen zum aktuellen Workflow-Prozess. In einem der Felder befindet sich eine Tabelle mit Metadaten zum Vorgang (fragen Sie mich nicht, warum !! und NEIN, ICH KANN ES NICHT ÄNDERN !!).

Das Problem besteht darin, dass diese Kalkulationstabelle in einem IMAGE-Feld in einem SQL Server 2005 (innerhalb einer mit SQL 2000 kompatiblen Datenbank) gespeichert wird.

Diese Tabelle enthält derzeit mehr als 22 KB Zeilen und sogar eine einfache Abfrage wie die folgende:

SELECT TOP 100 *
  FROM OFFENDING_TABLE

Es dauert 30 Sekunden, um die Daten in Query Analyzer abzurufen.

Ich denke darüber nach, die Kompatibilität zu SQL 2005 zu aktualisieren (sobald ich informiert wurde, dass die App damit umgehen kann).

Das zweite, was ich denke, ist, den Datentyp der Spalte zu ändernvarbinary(max) Ich weiß aber nicht, ob sich dies auf die Anwendung auswirkt.

Eine andere Sache, die ich erwäge, ist zu verwendensp_tableoption zum einstellen derlarge value types out of row zu1 wie es aktuell ist0, aber ich habe keine Informationen, wenn dies die Leistung verbessern wird.

Weiß jemand, wie man die Leistung in einem solchen Szenario verbessert?

Zur Verdeutlichung bearbeitet

Mein Problem ist, dass ich keine Kontrolle darüber habe, was die Anwendung an den SQL Server sendet. Ich habe darüber nachgedacht (die App ist eine .NET 1.1-Website) und das beleidigende Feld für einige interne Dinge verwendet, von denen ich keine Ahnung habe was es ist.

Ich muss die Gesamtleistung dieser Tabelle verbessern.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage