我在工作中遇到了一个非常特殊的性能问题!
在我们使用的系统中,有一个表格,其中包含有关当前工作流程的信息。其中一个字段包含一个电子表格,其中包含有关该过程的元数据(不要问我为什么!不,我不能改变它!!)
问题是该电子表格存储在 SQL Server 2005 的 IMAGE 字段中(在与 SQL 2000 兼容的数据库集中)。
该表目前有 22K+ 行,甚至是这样的简单查询:
SELECT TOP 100 *
FROM OFFENDING_TABLE
在查询分析器中检索数据需要 30 秒。
我正在考虑更新对 SQL 2005 的兼容性(一旦我被告知该应用程序可以处理它)。
我在想的第二件事是将列的数据类型更改为,varbinary(max)
但我不知道这样做是否会影响应用程序。
我正在考虑的另一件事是使用sp_tableoption
将 设置large value types out of row
为1
当前0
,但我不知道这样做是否会提高性能。
有谁知道如何在这种情况下提高性能?
编辑澄清
我的问题是我无法控制应用程序向 SQL Server 提出的要求,并且我对它进行了一些反思(该应用程序是一个 .NET 1.1 网站)并且它使用了一些我不知道的内部内容的违规字段这是什么。
我需要提高这张表的整体性能。