Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Про план выполнения и кол-во строк в плане  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
что-то не пойму, получил план выполнения(фактический) и статистику выполнения запроса.
В нем на операции --Clustered Index Seek(OBJECT кол-во строк около миллиона, как такое может быть если всего строк в индексе 2400?
предпологаемое кол-во строк 89, а фактическое около 997000
Я думал, что сначало идет выполняется Index Seek(операция 1), выбрали нужные нам строки(как раз около 89 ), и передали эти строки на операцию Вложенные циклы(Nested Loops)(операция 2), а уже на NestedLoops операции идет выборка с другой таблице через циклы(операция 3), тогда я запутался.
кусок плана во вложение.

К сообщению приложен файл. Размер - 113Kb
15 дек 11, 17:26    [11773464]     Ответить | Цитировать Сообщить модератору
 Re: Про план выполнения и кол-во строк в плане  [new]
Glory
Member

Откуда:
Сообщений: 104751
Потому что у вас NestedLoops т.е. циклическое выполнение операции
А 20 старушек по 5 копеек - это уже целый рубль
15 дек 11, 17:29    [11773498]     Ответить | Цитировать Сообщить модератору
 Re: Про план выполнения и кол-во строк в плане  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
так Это я понимаю, я не понял почему именно на операции index seek 997000 строк, я думал эти строки должны быть на NestedLoops.
т.е как понимаю, еще раз напишу:
1) получили набор строк через Cluster Index Seek из таблицы (примерно 89) - это операция 1
2) и потом уже через цикл nestedLoops проганяем для каждого значения из набора , полученного в операции 1, ищем нужное значение в другой таблице через IndexSeek, и тут будут эти 997000 строк.
где у меня ошибка в "моем понимание"?
15 дек 11, 17:50    [11773715]     Ответить | Цитировать Сообщить модератору
 Re: Про план выполнения и кол-во строк в плане  [new]
Glory
Member

Откуда:
Сообщений: 104751
Slava_Nik
1) получили набор строк через Cluster Index Seek из таблицы (примерно 89) - это операция 1

Только вот количество раз ее выполнения не 1, а вовсе даже 2418
15 дек 11, 17:53    [11773755]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить