1

我在 SQL Server Management Studio 中运行一个简单的 SQL 查询(我实际上也在我的应用程序中执行),我发现这很有趣。我希望有人可以解释它有什么问题。

数据库表有 25 列,有 5 列被索引,并且存在 1 个主键列。除一列外,其余所有列的类型varchar均为 length <= 50 或datetimeor int。一个例外是该列是类型varchar(512)(我们称此列BigColumn

我的查询是这样的:

Select PKColumn, column1, column2, column3, column4, column5
from database_table
where PKColumn = value

当我选择 5 个或更少的列时,查询执行得更快(< 1 秒)。BigColumn我可以选择除(当然还有 PK)之外的任何 5 列,结果会在 < 1 秒内返回。但是,如果我选择超过 5 列,查询会大大减慢(结果返回 6 秒)。另外,如果我选择PKColumn并且BigColumn结果会在 6 秒内返回。

有谁知道问题可能是什么?我确实请求我们的 DBA 对此进行调查,但我想知道是否有人遇到过这样的问题以及他们是如何解决的。

提前致谢。

4

0 回答 0