我在SQL Server Management Studio中运行一个简单的SQL查询(我实际上也在我的应用程序中执行),我发现这很有趣。我希望有人可以解释它有什么问题。
数据库表有25列,索引5列,并且存在一个主键列。
除了一列之外,所有其余列都是长度<= 50或varchar
或datetime
的{{1}}类型。一个例外是该列的类型为int
(我们将此列称为varchar(512)
)
我的疑问是:
BigColumn
当我选择5个或更少的列时,查询执行得更快(<1秒)。我可以选择除Select PKColumn, column1, column2, column3, column4, column5
from database_table
where PKColumn = value
之外的任何5列(当然还有PK),结果会返回&lt; 1秒。但是,如果我选择超过5列,查询会大大减慢(结果会回溯6秒)。此外,如果我选择BigColumn
和PKColumn
,结果将在6秒内恢复。
有谁知道问题可能是什么?我确实要求我们的DBA调查此问题,但我想知道是否有人遇到过这样的问题以及他们是如何解决的。
提前致谢。