Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Оптимизация запросов / 18 сообщений из 18, страница 1 из 1
22.01.2021, 09:55
    #40037844
georgy_2012
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
Коллеги, всем добрый день!
Есть какая-то литература/статьи/документация на счет того, на что нужно смотреть при оптимизации запросов, как правильно читать query plan/дерево и все к этому относящееся, как правильно оптимизировать. Не прошу рассказать, просто если у Вас есть ссылки на толковые материалы, буду очень благодарен. Интернет полон статей и слишком много общих фраз. Заранее благодарю и хорошего дня!
...
Рейтинг: 0 / 0
22.01.2021, 10:56
    #40037870
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
...
Рейтинг: 0 / 0
22.01.2021, 12:39
    #40037934
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
invm
https://www.amazon.com/SQL-Server-Query-Performance-Tuning/dp/1430267437

За что ты его так?

ЗЫ. Оптимизация запроса начинается НЕ с чтения "query plan/дерево и все к этому относящееся".
101% оптимизации запроса обеспечивается его правильным написанием.
Чтения планов - это только от безысходности.
...
Рейтинг: 0 / 0
22.01.2021, 13:00
    #40037954
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
aleks222,

а как узнать - правильно написан или нет? Оптимальность определяется измеримыми величинами, а не внешним видом запроса. Или мы оптимизируем методом "тыка" или же смотрим на метрики, которые отображает план запроса и статистика выполнения. Затем приходит понимание - какой внешний вид оптимален и изучение плана требуется реже.
Есть вариант - пользоваться готовыми "рецептами", но этот вариант менее точный.
...
Рейтинг: 0 / 0
22.01.2021, 13:17
    #40037969
Павел Воронцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
aleks222
invm
https://www.amazon.com/SQL-Server-Query-Performance-Tuning/dp/1430267437

За что ты его так?

ЗЫ. Оптимизация запроса начинается НЕ с чтения "query plan/дерево и все к этому относящееся".
101% оптимизации запроса обеспечивается его правильным написанием.
Чтения планов - это только от безысходности.

За что ты его так? Чтобы научиться правильно писать запросы полезно покурить планы. И по дереву постучать. Головой.
...
Рейтинг: 0 / 0
22.01.2021, 13:21
    #40037973
Павел Воронцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
Владислав Колосов
aleks222,

а как узнать - правильно написан или нет? Оптимальность определяется измеримыми величинами, а не внешним видом запроса. Или мы оптимизируем методом "тыка" или же смотрим на метрики, которые отображает план запроса и статистика выполнения. Затем приходит понимание - какой внешний вид оптимален и изучение плана требуется реже.
Есть вариант - пользоваться готовыми "рецептами", но этот вариант менее точный.

Для начала полезно знать весь ассортимент написания запросов. То есть знать как минимум три способа сделать одно и то же - тогда просто переписыванием запроса можно добиться впечатляющих результатов. Наверно это столь нелюбимое "пользование рецептами", но оно работает. А так... Читайте доки, пробуйте, и всё получится.
...
Рейтинг: 0 / 0
22.01.2021, 14:11
    #40038010
georgy_2012
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
Павел Воронцов,

я с великим довольствием и постучу и все остальное сделаю, просто найти бы что почитать, что бы тоже бестолково не стучать
...
Рейтинг: 0 / 0
22.01.2021, 14:20
    #40038016
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
georgy_2012,

читайте всё подряд, лет через 5 научитесь. Здесь нет несущественных мелочей, как говорится. Попробуйте найти книги от автора Ицик Бен-Ган, статьи Paul White и Дмитрия Пилюгина.
...
Рейтинг: 0 / 0
22.01.2021, 14:54
    #40038052
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
Владислав Колосов
aleks222,

а как узнать - правильно написан или нет? Оптимальность определяется измеримыми величинами, а не внешним видом запроса. Или мы оптимизируем методом "тыка" или же смотрим на метрики, которые отображает план запроса и статистика выполнения. Затем приходит понимание - какой внешний вид оптимален и изучение плана требуется реже.
Есть вариант - пользоваться готовыми "рецептами", но этот вариант менее точный.


Наружным осмотром.
План тут ваще не поможет.
...
Рейтинг: 0 / 0
22.01.2021, 16:11
    #40038074
архивариус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
georgy_2012,
если совсем сначала можно почитать про
Search ARGumentS (SARG, SARGS, SARGABLE)
...
Рейтинг: 0 / 0
22.01.2021, 17:04
    #40038083
.Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
aleks222
Владислав Колосов
aleks222,

а как узнать - правильно написан или нет? Оптимальность определяется измеримыми величинами, а не внешним видом запроса. Или мы оптимизируем методом "тыка" или же смотрим на метрики, которые отображает план запроса и статистика выполнения. Затем приходит понимание - какой внешний вид оптимален и изучение плана требуется реже.
Есть вариант - пользоваться готовыми "рецептами", но этот вариант менее точный.


Наружным осмотром.
План тут ваще не поможет.

Наружный осмотр (внешний вид) запроса ничего не скажет о распределении данных, о покрытии индексами, о секциях, и т.д. Знать и помнить все о данных онлайн невозможно. Научный хотя бы в первом приближении подход к оптимизации требует измеримых метрик.
...
Рейтинг: 0 / 0
22.01.2021, 17:29
    #40038093
pahanitto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
aleks222
invm
https://www.amazon.com/SQL-Server-Query-Performance-Tuning/dp/1430267437

За что ты его так?

ЗЫ. Оптимизация запроса начинается НЕ с чтения "query plan/дерево и все к этому относящееся".
101% оптимизации запроса обеспечивается его правильным написанием.
Чтения планов - это только от безысходности.


спорно..... но по сути- если появляется такой вопрос - то читать книги по азам СКЛ. почитай https://progerlib.ru/sql-books

но мне нравиться больше другая от мастера MSSQL... не помню фамилию. от Мелкософта
...
Рейтинг: 0 / 0
22.01.2021, 18:22
    #40038118
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
Не понимаю, о чем вы спорите?
С точки зрения экономии ресурсов/усилий на оптимизацию:
1) сначала наружный осмотр
2) а потом "пальпация и вскрытие"
...
Рейтинг: 0 / 0
22.01.2021, 19:15
    #40038145
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
Наружный осмотр помогает только в случае, если знаешь - чего ожидать от этого осмотра. чтобы получить эти знания необходимо или пользоваться готовыми решениями или смотреть - как устроен запрос. Интуитивно здесь ничего не понятно. Люди не рождаются электриками.
...
Рейтинг: 0 / 0
22.01.2021, 22:21
    #40038184
PizzaPizza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
что бы оптимизировать надо понимать как оно там работает под капотом

Начните с чтения про устройство файлов базы, lsn и прочее. Есть в интернете материалы.
Потом хорошо бы понять какие у вас есть инструменты диагностики. Про это книжки можно читать.
Потом изучить уже более сложные (для меня) материи, вроде воркеров, потоков, как оно там все в памяти, мемори опимизация и прочие фишки, которые сами по себе отельные механизмы.
Вот когда есть это понимание, то оптимизировать можно.

Ну или просто следовать базовым правилам вроде правильных индексов, (де)нормализации, понятного (компилятору) составленных запросов, обслуживания, понимания, что часто оптимизируется конкретная составляющая (скорость или размер базы).
...
Рейтинг: 0 / 0
23.01.2021, 05:20
    #40038217
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
PizzaPizza
что бы оптимизировать надо понимать как оно там работает под капотом

Начните с чтения про устройство файлов базы, lsn и прочее. Есть в интернете материалы.
Потом хорошо бы понять какие у вас есть инструменты диагностики. Про это книжки можно читать.
Потом изучить уже более сложные (для меня) материи, вроде воркеров, потоков, как оно там все в памяти, мемори опимизация и прочие фишки, которые сами по себе отельные механизмы.
Вот когда есть это понимание, то оптимизировать можно.

Ну или просто следовать базовым правилам вроде правильных индексов, (де)нормализации, понятного (компилятору) составленных запросов, обслуживания, понимания, что часто оптимизируется конкретная составляющая (скорость или размер базы).


Бред.
Отдельная "оптимизация" для MS SQL, оракела, постгресса и т.д. и т.п.

Может просто научиться писать запросы покороче, с минимумом соединений и группировок?
...
Рейтинг: 0 / 0
23.01.2021, 07:13
    #40038220
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
Владислав Колосов
georgy_2012,

читайте всё подряд, лет через 5 научитесь. Здесь нет несущественных мелочей, как говорится. Попробуйте найти книги от автора Ицик Бен-Ган, статьи Paul White и Дмитрия Пилюгина.

То, что игра в шахматы - остаётся искусством даже сейчас, когда компьютер обыгрывает чемпионов мира, не значит, что им нельзя учиться на регулярной основе.
И, собственно, с TSQL - всё даже проще. Для 95% практического применения - достаточно, в общем, придерживаться пары-тройки десятков общих правил написания запросов из бест практиз, совсем примитивных, типа: не суйте пальцы в розетку применяйте функции к константе, а не полю, следите, чтобы при сравнении совпадали типы, всегда используйте exists вместо аналогичных конструкций и т.д., следите, чтобы запросы попадали в индексы, короче, что-то типа этого: https://www.mssqltips.com/sqlservertip/6073/sql-server-tsql-performance-best-practices-tips--part-1/
А вот когда это не поможет - тогда действительно SQL Server Query Performance Tuning

Кстати, на Специалисте был курс лекций по оптимизации запросов (подсказка - если жаль денег, то можно и так найти).
Вполне ничего себе, на мой взгляд.
Только если с нуля - сначала просмотрите их же курс просто по написанию запросов, вводный.
Там тоже много полезного.
...
Рейтинг: 0 / 0
25.01.2021, 09:29
    #40038557
georgy_2012
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запросов
Да, я нашел и прослушал курсы Федора Самородова, на мой скромный взгляд очень неплохо все объясняет. Не знаю какое отношение к нему в народе, но лично мне он на много вопросов (как новичку) ответил. Спасибо всем большое за ссылки и достаточно подробное объяснение, понял, что общего какого-то мнения не бывает)) Буду грызть
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Оптимизация запросов / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]