На моем MS SQL Server 2008 я создал временную таблицу, подобную этой:
create table #test
(
A varchar(50),
B int,
)
insert into #test select 'a',45
insert into #test select 'b',587
insert into #test select 'a',4
insert into #test select 'b',58
Теперь следующий запрос выполняется вечно
select A,SUM(B) from #test group by A -- takes 4 seconds to execute
, в то время как следующие запросы являются мгновенными
select * from #test order by A
select SUM(B) from #test
Все остальные запросы (включая огромные запросы), которые не используют временные таблицы, работают нормально, в то время как каждый запрос, использующий временную таблицу, кажется, вызывает ту же проблему производительности.Все эти запросы обычно выполнялись быстро вчера, и я не могу вспомнить ничего необычного, что могло бы произойти с тех пор.
Я проверил, что моя база данных tempdb не была заполнена с использованием пробела (70 МБ свободно из 85 МБ)
Я также получил план выполнения:
Что может привести к такой очень низкой производительности?Есть ли что-то, что я должен решить проблему?