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

Откуда:
Сообщений: 243
Есть 2 варианта выполнения вставки записей в таблицу. Соответственно есть 2 плана выполнения. А какой из них лучше? В плане скорости, ресурсов и т. д. Планы прилагаю в виде картинок. В этом посте План 1

К сообщению приложен файл. Размер - 106Kb
12 дек 14, 18:51    [16990960]     Ответить | Цитировать Сообщить модератору
 Re: Какой план выполнения лучше?  [new]
harisma
Member

Откуда:
Сообщений: 243
План 2

К сообщению приложен файл. Размер - 91Kb
12 дек 14, 18:51    [16990963]     Ответить | Цитировать Сообщить модератору
 Re: Какой план выполнения лучше?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Я бы переписал через exists.
12 дек 14, 19:06    [16991018]     Ответить | Цитировать Сообщить модератору
 Re: Какой план выполнения лучше?  [new]
harisma
Member

Откуда:
Сообщений: 243
Гавриленко Сергей Алексеевич
Я бы переписал через exists.

с ним получается такой же план, как для
where not old.recid 
. Не вижу разницы.
12 дек 14, 19:15    [16991051]     Ответить | Цитировать Сообщить модератору
 Re: Какой план выполнения лучше?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
harisma
Гавриленко Сергей Алексеевич
Я бы переписал через exists.

с ним получается такой же план, как для
where not old.recid 

. Не вижу разницы.
Эти три запроса, при условии, что RecId из подзапроса not null, делают одно и то же. Какую кардинальную разниуцу в планах вы хотите увидеть?
12 дек 14, 19:20    [16991071]     Ответить | Цитировать Сообщить модератору
 Re: Какой план выполнения лучше?  [new]
harisma
Member

Откуда:
Сообщений: 243
[quot Гавриленко Сергей Алексеевич]
harisma
пропущено...

Какую кардинальную разниуцу в планах вы хотите увидеть?

Я написал в первом посте: меня интересует скорость и "прожорливость" по ресурсам для больших объемов данных для этих запросов, чтобы выбрать лучший
12 дек 14, 19:31    [16991114]     Ответить | Цитировать Сообщить модератору
 Re: Какой план выполнения лучше?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
harisma
harisma
пропущено...

Какую кардинальную разниуцу в планах вы хотите увидеть?

Я написал в первом посте: меня интересует скорость и "прожорливость" по ресурсам для больших объемов данных для этих запросов, чтобы выбрать лучший
Ваши оба плана отвратительны на больших объемах данных. Т.е оба хреновые.
12 дек 14, 19:33    [16991126]     Ответить | Цитировать Сообщить модератору
 Re: Какой план выполнения лучше?  [new]
harisma
Member

Откуда:
Сообщений: 243
Гавриленко Сергей Алексеевич
Ваши оба плана отвратительны на больших объемах данных. Т.е оба хреновые.

А ваш с exists? Он лучше?
12 дек 14, 19:36    [16991135]     Ответить | Цитировать Сообщить модератору
 Re: Какой план выполнения лучше?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
harisma
Гавриленко Сергей Алексеевич
Ваши оба плана отвратительны на больших объемах данных. Т.е оба хреновые.

А ваш с exists? Он лучше?
Он ваш, потому что сгенерен для ваших таблиц и данных. И да, он тоже плохой.

Сообщение было отредактировано: 12 дек 14, 19:38
12 дек 14, 19:38    [16991147]     Ответить | Цитировать Сообщить модератору
 Re: Какой план выполнения лучше?  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
harisma
Я написал в первом посте: меня интересует скорость и "прожорливость" по ресурсам для больших объемов данных для этих запросов, чтобы выбрать лучший
А вы в курсе что на больших объемах эти планы могут поменяться? И то чем вы сейчас занимаетесь абсолютно бессмысленно?
12 дек 14, 22:46    [16991769]     Ответить | Цитировать Сообщить модератору
 Re: Какой план выполнения лучше?  [new]
NickAlex66
Member

Откуда:
Сообщений: 319
harisma,

Давайте Ваши объемы и статистику по ним. Иначе - пустое.
12 дек 14, 23:17    [16991874]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить