我有一个非常大的表,有许多行(5000万)和500多列。它的指标是期限和客户。我需要保留一段时间客户端和另一列(而不是索引)。这需要太多时间。所以我想了解为什么:sql select性能(微软)
如果我做的:
select count(*)
from table
where cd_periodo=201602
只需不到1秒,返回编号为2万美元。
如果我选择到一个临时表的时期,它也让没有时间(2秒)
select cd_periodo
into #table
from table
where cd_periodo=201602
但如果我选择另一列,它是不是一个索引的一部分,它需要超过3分钟。
select not_index_column
into #table
from table
where cd_periodo=201602
这是怎么发生的?我没有在列上做任何过滤器。
请包括(最小化)表和索引的DDL。您是否检查过查询计划? –
超过500列的表格?这听起来像一个可怕的设计。没有更多的细节,这里最好是猜测。 –