План запросов Sql server
Привет ребята,
У меня очень медленная хранимая процедура, и queryplan показывает мне что-то странное. Он использует индексированный кластер на таблице в схеме sys -> sys.query_notification_1626853258.
<Object Database="[TDMS-TEST]" Schema="[sys]" Table="[query_notification_1626853258]" Index="[cidx]" IndexKind="Clustered" Storage="RowStore" /> <RelOp AvgRowSize="2463" EstimateCPU="80.1192" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row" EstimateRows="1" LogicalOp="Aggregate" NodeId="41" Parallel="false" PhysicalOp="Hash Match" EstimatedTotalSubtreeCost="466.54"> <OutputList> <ColumnReference Database="[TDMS-TEST]" Schema="[sys]" Table="[query_notification_1626853258]" Column="id" /> <ColumnReference Database="[TDMS-TEST]" Schema="[sys]" Table="[query_notification_1626853258]" Column="dialog" /> <ColumnReference Database="[TDMS-TEST]" Schema="[sys]" Table="[query_notification_1626853258]" Column="sid" /> <ColumnReference Database="[TDMS-TEST]" Schema="[sys]" Table="[query_notification_1626853258]" Column="ssb_service" /> <ColumnReference Database="[TDMS-TEST]" Schema="[sys]" Table="[query_notification_1626853258]" Column="ssb_instance" /> <ColumnReference Database="[TDMS-TEST]" Schema="[sys]" Table="[query_notification_1626853258]" Column="message" /> </OutputList>
Но такой таблицы нет ни в sys, ни в какой другой базе данных. Что такое клев и как его решить?
Что я уже пробовал:
Все индексы перестраиваются, все хранимые процедуры перекомпилируются. а теперь?
0x01AA
Похоже, у вас есть несколько подписчиков для уведомлений о запросах?
Смотрите, например, здесь: цитата:Уведомление о запросе с использованием SqlDependency и SqlCacheDependency[^]
Herman<T>.Instance
Да, я действительно использую подписку на уведомления. Они не используются ни в одной хранимой процедуре, но план запроса test_insert говорит, что он используется там, где nr оценочных строк увеличивается с 1 до 17 миллионов и более. (Это кажется 4 секунд работы)