Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Which is Faster Static SQL or Dynamic SQL in SP  [new]
mos
Member

Откуда: Vilnius
Сообщений: 701
Добрый день

Может кто встречал серьезные статьи с тестами сравнения Static SQL и Dynamic SQL...По моим сведеньям за счет кэш планов Static SQL выигрывает в скорости выполнения я ошибаюсь...?
22 апр 09, 11:51    [7097048]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
https://www.sql.ru/articles/mssql/2004/04112302Using_SELECT_Views_SPs.shtml
22 апр 09, 12:32    [7097493]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
Гость888
Guest
Ссылка хорошая. А есть ли более интересные примеры?
5 янв 10, 11:38    [8148543]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
aleks2
Guest
mos
Добрый день

Может кто встречал серьезные статьи с тестами сравнения Static SQL и Dynamic SQL...По моим сведеньям за счет кэш планов Static SQL выигрывает в скорости выполнения я ошибаюсь...?


Лучше всего "правильный" SQL.
Ибо весь выигрышь на компиляции легко профукать на "кривом" запросе. Да и в динамических запросах оптимизатор может кэшировать план.

А вопрос " выигрывает в скорости выполнения " и вовсе свидетельствует о необходимости интенсивного обучения для тредстартера.

Static SQL проще писать, отлаживать и меньше шансов нарваться на неприятность... это, пожалуй, все объективные преимущества.
5 янв 10, 13:22    [8148979]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
Гость888
Guest
aleks2
Лучше всего "правильный" SQL.

То есть лучше быть богатым и здоровым чем бедным и больным. Ну это очевидно.

aleks2
Да и в динамических запросах оптимизатор может кэшировать план.

Да. И иногда такое кеширование приводит к тому что половина памяти загажена кешироваными планами использоваными аж один раз

aleks2
Static SQL проще писать, отлаживать и меньше шансов нарваться на неприятность... это, пожалуй, все объективные преимущества.

Да? А перейти с одной версии сервера на другую не трогая аппликешн и лишь просто перепроверив SP не проводя тестирование всего приложения. Или разве посмотрев dependancy таблицы смело менять индексы - зная какие SP, views и functions нужно проверить после этого - что производительность остальных частей аппликешн не пострадала. Ну или отделить таер базы данных от таера аппликухи - что дает возможность поменять PK-FK отношения, ввести новые связи и поменяв. Это необъективные или непреимущества?
5 янв 10, 14:10    [8149222]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
aleks2
Guest
Гость888
aleks2
Лучше всего "правильный" SQL.

То есть лучше быть богатым и здоровым чем бедным и больным. Ну это очевидно.

aleks2
Да и в динамических запросах оптимизатор может кэшировать план.

Да. И иногда такое кеширование приводит к тому что половина памяти загажена кешироваными планами использоваными аж один раз

aleks2
Static SQL проще писать, отлаживать и меньше шансов нарваться на неприятность... это, пожалуй, все объективные преимущества.

Да? А перейти с одной версии сервера на другую не трогая аппликешн и лишь просто перепроверив SP не проводя тестирование всего приложения. Или разве посмотрев dependancy таблицы смело менять индексы - зная какие SP, views и functions нужно проверить после этого - что производительность остальных частей аппликешн не пострадала. Ну или отделить таер базы данных от таера аппликухи - что дает возможность поменять PK-FK отношения, ввести новые связи и поменяв. Это необъективные или непреимущества?


Бредите? Сочувствую...

Хотя, возможно, под Dynamic SQL вы подразумеваете что-то свое?
5 янв 10, 17:42    [8150041]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
aleks2,

насколько я понял, гостя смутил явно слишком краткий перечень преимуществ статических запросов, о чем он и написал, дополнив сей перечень
Справедливости ради надо сказать, что стиль изложения таки достаточно труден для понимания того - что и почему автор защищает.
5 янв 10, 22:07    [8150734]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
Гость888
Guest
aleks2
Бредите? Сочувствую...


Культуру некоторых людей так сразу и не поймешь, пока она сама не попрет из всех щелей.

Мне совершено не сложно прислать вам например отчет хоть и старой, но очень интересной команды DBCC MEMUSAGE - c результатом который я описал выше.

aleks2
Хотя, возможно, под Dynamic SQL вы подразумеваете что-то свое?


http://www.sommarskog.se/dynamic_sql.html
5 янв 10, 23:18    [8150940]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
Гость888
Guest
locky
aleks2,

насколько я понял, гостя смутил явно слишком краткий перечень преимуществ статических запросов, о чем он и написал, дополнив сей перечень
Справедливости ради надо сказать, что стиль изложения таки достаточно труден для понимания того - что и почему автор защищает.


Гость просто ищет наиболее полный список преймуществ того или иного подхода. Информации по данному вопросу в сети немало, но разумную критику гость встретил только по поводу динамических запросов. К тому же гость столкнулся именно с теми сложностями embedded sql что он и написал ранее

- отсутсвие всего набора запросов не позволяет сделать поправить индексы. Собрать трассу можно, но базу данных использует несколько десятков приложений и пройтись по всем функциям этих приложений нет никакой возможности.

- невозможно перейти на новую версию сервера без полного тестирования опять же всех приложений

- невозможность(точнее бесполезно) создать искусственные PK и FK что бы заменить JOINs по 9 (прописью - девяти) char полям.

Ну и так далее.

Так что гость не бредит а просто имеет опыт, который тем или иным образом от aleks2 ускользнул. Последнее особенно странно и печально - потому как в мире, увы, огромное количество приложений написаных именно таким образом.
5 янв 10, 23:31    [8150964]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
aleks2
Guest
Гость888

Так что гость не бредит а просто имеет опыт, который тем или иным образом от aleks2 ускользнул. Последнее особенно странно и печально - потому как в мире, увы, огромное количество приложений написаных именно таким образом.


BOL и Microsoft определяют
Dynamic SQL Statements
Dynamic SQL statements are not completely embedded in the source code; instead, portions are stored in program variables that can be modified at run time.

Так шо Dynamic SQL =
declare @s as varchar(8000); set @s='some sql statement(s)'; exec(@s)
на стороне сервера.

И чо тута вещать про клиентское приложение и быдлокодеров?
6 янв 10, 08:05    [8151255]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
Гость888
Guest
aleks2
....


Вы MVP?
6 янв 10, 14:06    [8152001]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
jekaSQL
Member

Откуда: Бабруйск
Сообщений: 596
Гость888
....


ИМХО, вы перепутали динамический sql с чем-то вроде того, что обсуждается тут https://www.sql.ru/forum/actualthread.aspx?bid=34&tid=620168
Oui?
6 янв 10, 17:16    [8152615]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
Гость888
Guest
jekaSQL
Гость888
....


ИМХО, вы перепутали динамический sql с чем-то вроде того, что обсуждается тут https://www.sql.ru/forum/actualthread.aspx?bid=34&tid=620168
Oui?


Я ничего не перепутал. Я задал вопрос и указал на существенные достоинства SP упущеные по моему мнению aleks2 и указал на ссылку одного MVP где обсуждается та же проблема. За ссылку спасибо - похоже это то что нужно.
7 янв 10, 01:20    [8153869]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
Glory
Member

Откуда:
Сообщений: 104760
Гость888
jekaSQL
Гость888
....


ИМХО, вы перепутали динамический sql с чем-то вроде того, что обсуждается тут https://www.sql.ru/forum/actualthread.aspx?bid=34&tid=620168
Oui?


Я ничего не перепутал. Я задал вопрос и указал на существенные достоинства SP упущеные по моему мнению aleks2 и указал на ссылку одного MVP где обсуждается та же проблема. За ссылку спасибо - похоже это то что нужно.

А вопрос то был про "Static SQL or Dynamic SQL in SP"
7 янв 10, 01:25    [8153883]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
Гость888
Guest
Glory
Гость888
jekaSQL
Гость888
....


ИМХО, вы перепутали динамический sql с чем-то вроде того, что обсуждается тут https://www.sql.ru/forum/actualthread.aspx?bid=34&tid=620168
Oui?


Я ничего не перепутал. Я задал вопрос и указал на существенные достоинства SP упущеные по моему мнению aleks2 и указал на ссылку одного MVP где обсуждается та же проблема. За ссылку спасибо - похоже это то что нужно.

А вопрос то был про "Static SQL or Dynamic SQL in SP"


Где? По моей ссылке, да, автор статьи рассказывает про Dynamic SQL in SP. Это незначительно влияет на сам вопрос о Static SQL vs Dynamic SQL
7 янв 10, 01:49    [8153935]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
Glory
Member

Откуда:
Сообщений: 104760
Гость888

Где? По моей ссылке, да, автор статьи рассказывает про Dynamic SQL in SP. Это незначительно влияет на сам вопрос о Static SQL vs Dynamic SQL

В названии данной темы. А вы начали разговоры про какую-то миграцию с версию на версию, про разделение серверного и клиентского кодов
7 янв 10, 10:22    [8154166]     Ответить | Цитировать Сообщить модератору
 Re: Which is Faster Static SQL or Dynamic SQL in SP  [new]
Гость888
Guest
Glory
Гость888

Где? По моей ссылке, да, автор статьи рассказывает про Dynamic SQL in SP. Это незначительно влияет на сам вопрос о Static SQL vs Dynamic SQL

В названии данной темы. А вы начали разговоры про какую-то миграцию с версию на версию, про разделение серверного и клиентского кодов


Да, каюсь, - название темы не особено заметно. Прочитал что в теле сообщения было.
7 янв 10, 16:02    [8154837]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить