Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
22.01.2021, 09:55
|
|||
---|---|---|---|
|
|||
Оптимизация запросов |
|||
#18+
Коллеги, всем добрый день! Есть какая-то литература/статьи/документация на счет того, на что нужно смотреть при оптимизации запросов, как правильно читать query plan/дерево и все к этому относящееся, как правильно оптимизировать. Не прошу рассказать, просто если у Вас есть ссылки на толковые материалы, буду очень благодарен. Интернет полон статей и слишком много общих фраз. Заранее благодарю и хорошего дня! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2021, 12:39
|
|||
---|---|---|---|
Оптимизация запросов |
|||
#18+
invm https://www.amazon.com/SQL-Server-Query-Performance-Tuning/dp/1430267437 За что ты его так? ЗЫ. Оптимизация запроса начинается НЕ с чтения "query plan/дерево и все к этому относящееся". 101% оптимизации запроса обеспечивается его правильным написанием. Чтения планов - это только от безысходности. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2021, 13:00
|
|||
---|---|---|---|
|
|||
Оптимизация запросов |
|||
#18+
aleks222, а как узнать - правильно написан или нет? Оптимальность определяется измеримыми величинами, а не внешним видом запроса. Или мы оптимизируем методом "тыка" или же смотрим на метрики, которые отображает план запроса и статистика выполнения. Затем приходит понимание - какой внешний вид оптимален и изучение плана требуется реже. Есть вариант - пользоваться готовыми "рецептами", но этот вариант менее точный. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2021, 13:17
|
|||
---|---|---|---|
|
|||
Оптимизация запросов |
|||
#18+
aleks222 invm https://www.amazon.com/SQL-Server-Query-Performance-Tuning/dp/1430267437 За что ты его так? ЗЫ. Оптимизация запроса начинается НЕ с чтения "query plan/дерево и все к этому относящееся". 101% оптимизации запроса обеспечивается его правильным написанием. Чтения планов - это только от безысходности. За что ты его так? Чтобы научиться правильно писать запросы полезно покурить планы. И по дереву постучать. Головой. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2021, 13:21
|
|||
---|---|---|---|
|
|||
Оптимизация запросов |
|||
#18+
Владислав Колосов aleks222, а как узнать - правильно написан или нет? Оптимальность определяется измеримыми величинами, а не внешним видом запроса. Или мы оптимизируем методом "тыка" или же смотрим на метрики, которые отображает план запроса и статистика выполнения. Затем приходит понимание - какой внешний вид оптимален и изучение плана требуется реже. Есть вариант - пользоваться готовыми "рецептами", но этот вариант менее точный. Для начала полезно знать весь ассортимент написания запросов. То есть знать как минимум три способа сделать одно и то же - тогда просто переписыванием запроса можно добиться впечатляющих результатов. Наверно это столь нелюбимое "пользование рецептами", но оно работает. А так... Читайте доки, пробуйте, и всё получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2021, 14:11
|
|||
---|---|---|---|
|
|||
Оптимизация запросов |
|||
#18+
Павел Воронцов, я с великим довольствием и постучу и все остальное сделаю, просто найти бы что почитать, что бы тоже бестолково не стучать ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2021, 14:20
|
|||
---|---|---|---|
|
|||
Оптимизация запросов |
|||
#18+
georgy_2012, читайте всё подряд, лет через 5 научитесь. Здесь нет несущественных мелочей, как говорится. Попробуйте найти книги от автора Ицик Бен-Ган, статьи Paul White и Дмитрия Пилюгина. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2021, 14:54
|
|||
---|---|---|---|
Оптимизация запросов |
|||
#18+
Владислав Колосов aleks222, а как узнать - правильно написан или нет? Оптимальность определяется измеримыми величинами, а не внешним видом запроса. Или мы оптимизируем методом "тыка" или же смотрим на метрики, которые отображает план запроса и статистика выполнения. Затем приходит понимание - какой внешний вид оптимален и изучение плана требуется реже. Есть вариант - пользоваться готовыми "рецептами", но этот вариант менее точный. Наружным осмотром. План тут ваще не поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2021, 16:11
|
|||
---|---|---|---|
|
|||
Оптимизация запросов |
|||
#18+
georgy_2012, если совсем сначала можно почитать про Search ARGumentS (SARG, SARGS, SARGABLE) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2021, 17:04
|
|||
---|---|---|---|
Оптимизация запросов |
|||
#18+
aleks222 Владислав Колосов aleks222, а как узнать - правильно написан или нет? Оптимальность определяется измеримыми величинами, а не внешним видом запроса. Или мы оптимизируем методом "тыка" или же смотрим на метрики, которые отображает план запроса и статистика выполнения. Затем приходит понимание - какой внешний вид оптимален и изучение плана требуется реже. Есть вариант - пользоваться готовыми "рецептами", но этот вариант менее точный. Наружным осмотром. План тут ваще не поможет. Наружный осмотр (внешний вид) запроса ничего не скажет о распределении данных, о покрытии индексами, о секциях, и т.д. Знать и помнить все о данных онлайн невозможно. Научный хотя бы в первом приближении подход к оптимизации требует измеримых метрик. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2021, 17:29
|
|||
---|---|---|---|
|
|||
Оптимизация запросов |
|||
#18+
aleks222 invm https://www.amazon.com/SQL-Server-Query-Performance-Tuning/dp/1430267437 За что ты его так? ЗЫ. Оптимизация запроса начинается НЕ с чтения "query plan/дерево и все к этому относящееся". 101% оптимизации запроса обеспечивается его правильным написанием. Чтения планов - это только от безысходности. спорно..... но по сути- если появляется такой вопрос - то читать книги по азам СКЛ. почитай https://progerlib.ru/sql-books но мне нравиться больше другая от мастера MSSQL... не помню фамилию. от Мелкософта ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2021, 18:22
|
|||
---|---|---|---|
Оптимизация запросов |
|||
#18+
Не понимаю, о чем вы спорите? С точки зрения экономии ресурсов/усилий на оптимизацию: 1) сначала наружный осмотр 2) а потом "пальпация и вскрытие" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2021, 19:15
|
|||
---|---|---|---|
|
|||
Оптимизация запросов |
|||
#18+
Наружный осмотр помогает только в случае, если знаешь - чего ожидать от этого осмотра. чтобы получить эти знания необходимо или пользоваться готовыми решениями или смотреть - как устроен запрос. Интуитивно здесь ничего не понятно. Люди не рождаются электриками. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.01.2021, 22:21
|
|||
---|---|---|---|
|
|||
Оптимизация запросов |
|||
#18+
что бы оптимизировать надо понимать как оно там работает под капотом Начните с чтения про устройство файлов базы, lsn и прочее. Есть в интернете материалы. Потом хорошо бы понять какие у вас есть инструменты диагностики. Про это книжки можно читать. Потом изучить уже более сложные (для меня) материи, вроде воркеров, потоков, как оно там все в памяти, мемори опимизация и прочие фишки, которые сами по себе отельные механизмы. Вот когда есть это понимание, то оптимизировать можно. Ну или просто следовать базовым правилам вроде правильных индексов, (де)нормализации, понятного (компилятору) составленных запросов, обслуживания, понимания, что часто оптимизируется конкретная составляющая (скорость или размер базы). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.01.2021, 05:20
|
|||
---|---|---|---|
Оптимизация запросов |
|||
#18+
PizzaPizza что бы оптимизировать надо понимать как оно там работает под капотом Начните с чтения про устройство файлов базы, lsn и прочее. Есть в интернете материалы. Потом хорошо бы понять какие у вас есть инструменты диагностики. Про это книжки можно читать. Потом изучить уже более сложные (для меня) материи, вроде воркеров, потоков, как оно там все в памяти, мемори опимизация и прочие фишки, которые сами по себе отельные механизмы. Вот когда есть это понимание, то оптимизировать можно. Ну или просто следовать базовым правилам вроде правильных индексов, (де)нормализации, понятного (компилятору) составленных запросов, обслуживания, понимания, что часто оптимизируется конкретная составляющая (скорость или размер базы). Бред. Отдельная "оптимизация" для MS SQL, оракела, постгресса и т.д. и т.п. Может просто научиться писать запросы покороче, с минимумом соединений и группировок? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.01.2021, 07:13
|
|||
---|---|---|---|
|
|||
Оптимизация запросов |
|||
#18+
Владислав Колосов 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 Кстати, на Специалисте был курс лекций по оптимизации запросов (подсказка - если жаль денег, то можно и так найти). Вполне ничего себе, на мой взгляд. Только если с нуля - сначала просмотрите их же курс просто по написанию запросов, вводный. Там тоже много полезного. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.01.2021, 09:29
|
|||
---|---|---|---|
|
|||
Оптимизация запросов |
|||
#18+
Да, я нашел и прослушал курсы Федора Самородова, на мой скромный взгляд очень неплохо все объясняет. Не знаю какое отношение к нему в народе, но лично мне он на много вопросов (как новичку) ответил. Спасибо всем большое за ссылки и достаточно подробное объяснение, понял, что общего какого-то мнения не бывает)) Буду грызть ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&mobile=1&tid=1685174]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 276ms |
0 / 0 |