Неоптимальный план запросов

13.05.18

База данных - HighLoad оптимизация

Шпаргалка к экзамену "Эксперт по технологическим вопросам".

-На прошлой неделе учил дочку запоминать цвета радуги: Каждый Охотник Желает Знать, Где Сидит Фазан. Это очень надежный способ. Сам его использую уже около сорока лет. Применим его для подготовки к экзамену по технологическим вопросам. Ниже шпаргалка к популярному вопросу: «Расскажите о признаках неоптимальности в плане запросов». Конечно, мы знаем эти признаки, но быстро назвать их все в условиях стресса может не получиться. Итак, примерный перечень:

  • Table spool, Lazy spool, предупреждения в операторах сортировки о нехватке памяти свидетельствует об использовании подкачки с жесткого диска. Постараемся избегать использование самого медленного устройства в компьютере. Ассоциация: Файл подкачки.
  • Key (RID) lookup  - указывает на поиск по ключу, за ним обычно следует Nested loops. Таким образом данные собираются из разных мест. Как правило, эту пару операторов можно улучшить, используя покрывающий индекс. Ассоциация: поиск по ключу.
  • Filter сравнить количество строк на входе/выходе оператора. Если выход меньше на порядок - неоптимальность. Почему бы не отобрать данные раньше? Ассоциация: Поменять фильтр.
  • Nested loops – неоптимален, если выполняется много раз (с большим количеством строк). Более привлекательным являются операторы соединения таблиц Merge Join и Hash Join. Лучшее – враг хорошего. Ассоциация: соединение таблиц в цикле
  • Table (clustered index) scan, Index seek с предикатом where по низкоселективному условию. Способ доступа scan блокирует всю таблицу (индекс), если запрос применяет блокировку. Условие where нужно проверять на эффективность. Ассоциация: пробежать все страницы данных.

В результате получим ассоциативное стихотворение:

На экзамен чтоб добраться

Нужно сильно постараться

Пресс до кубиков качать,

Ключ от яхты потерять,

Фильтр в машине поменять,

Мотоцикл догонять,

По ступенькам пробежать.

Если Вы представите себя качком на яхте, машина, мотоцикл и как поднимаетесь по лестнице к экзамену – то вспомните все признаки неоптимального плана ))

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

Буду благодарен за положительные отзывы, за конструктивную критику – благодарен вдвойне.

Я знаю, что я ничего не знаю.

Шпаргалка экзамен эксперт по технологическим вопросам.

См. также

Запросы 1С OnLine. Интерактивная обучающая программа.

Подготовка к аттестации Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Интерактивное изучение языка запросов с самого начала: - 50 практических заданий с различным уровнем сложности; - Методические материалы по практике написания запросов; - Описание назначения таблиц и индексов 1С Предприятие 8; - Методика решения реальных задач запросом 1С; - Автоматическая система проверки решений с указанием ошибок; - Инструкции по решению задач с разъяснениями; - Техническая поддержка пользователей. Подходит для начинающих и действующих разработчиков 1С

1800 руб.

11.02.2014    73847    677    13    

165

Оптимизация запросов 1С - от теории к практике

Подготовка к аттестации Запросы Конфигурации 1cv8 Платные (руб)

Желаете повысить свой уровень разработки? Не знаете, как оптимизировать работу тяжелых запросов 1С? Или знаете методы оптимизации, но на практике не получаете результат? Тогда эта интерактивная обучающая программа для Вас! Оптимизация запросов прямо в программе 1С:Предприятие 8. Несколько десятков практических заданий, рассматривающих методы оптимизации на практике. От Вас требуются реальные решения - оптимизация представленных запросов. Автоматизированная система оценит Ваш запрос и представит результат проверки.

1800 руб.

06.07.2015    70807    118    9    

128

Как я готовилась к экзамену на Специалиста по платформе 1С

Подготовка к аттестации Платформа 1С v8.3 Россия Бесплатно (free)

Готовилась три месяца, сдала с первого раза. Делюсь опытом, лайфхаками и ресурсами, по которым учила материал.

14.03.2024    9409    PROSTO-1C    46    

78

Анализируем SQL сервер глазами 1С-ника

HighLoad оптимизация Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих зааросов на sql, ожиданий, конвертация запроса в 1с и рекомендации где может тормозить

1 стартмани

15.02.2024    7662    159    ZAOSTG    68    

96

Как я стал Экспертом по технологическим вопросам за 3 месяца. Часть 2 (обновлена)

Подготовка к аттестации Бесплатно (free)

Мой опыт подготовки и сдачи к экзамену 1С: Эксперт по технологическим вопросам. Часть 2.

04.02.2024    5635    shuhratsj    16    

72

Как я стал Экспертом по технологическим вопросам за 3 месяца

Подготовка к аттестации Бесплатно (free)

Мой опыт подготовки и сдачи к экзамену 1С: Эксперт по технологическим вопросам за 3 месяца. Часть 1.

29.01.2024    13019    shuhratsj    102    

153

Опыт оптимизации 1С на PostgreSQL

HighLoad оптимизация Бесплатно (free)

При переводе типовой конфигурации 1C ERP/УТ/КА на PostgreSQL придется вложить ресурсы в доработку и оптимизацию запросов. Расскажем, на что обратить внимание при потерях производительности и какие инструменты/подходы помогут расследовать проблемы после перехода.

20.11.2023    8882    ivanov660    6    

76

ТОП проблем/задач у владельцев КОРП лицензий 1С на основе опыта РКЛ

HighLoad оптимизация Бесплатно (free)

Казалось бы, КОРП-системы должны быть устойчивы, быстры и надёжны. Но, работая в рамках РКЛ, мы видим немного другую картину. Об основных болевых точках КОРП-систем и подходах к их решению пойдет речь в статье.

15.11.2023    5116    a.doroshkevich    20    

72
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. harvester_sorrow 24 21.04.18 17:15 Сейчас в теме
Коллеге перешлю,как раз экзамен во вторник у него)
7. пользователь 22.04.18 00:43
Сообщение было скрыто модератором.
...
8. пользователь 23.04.18 04:28
Сообщение было скрыто модератором.
...
9. vasilev2015 2687 23.04.18 08:53 Сейчас в теме
(1) расскажите, если пригодится ))
2. user962133 21.04.18 17:33 Сейчас в теме
Ух ты, как раз во время, спасибо!
3. МихаилМ 21.04.18 18:02 Сейчас в теме
1с8 не поддерживает покрывающие индексы. и морозов и бурмистров избегают разговоры про нештатные оптимизации
4. vasilev2015 2687 21.04.18 18:35 Сейчас в теме
(3) Покрывающим (для данного запроса), называется индекс в котором есть все необходимые поля для этого запроса. Источник: http://www.gilev.ru/index/

Покрывающие индексы могут повысить производительность запросов, так как данные, необходимые для удовлетворения требований запроса, присутствуют в самом индексе. Источник https://msdn.microsoft.com/ru-ru/library/jj835095(v=sql.120).aspx

Кластерный индекс таблицы содержит все поля таблицы и является покрывающим для любого запроса.

Вы наверное, имели ввиду одно, но написали другое ?
5. МихаилМ 21.04.18 21:46 Сейчас в теме
(4) да . терминология запутана. я говорил о индексах с включенными

полями. а просто некластерные индексы с дополнительными ключевыми полями создаст излишнюю нагрузку при записи. сомнительная оптимизация.
6. vasilev2015 2687 21.04.18 22:19 Сейчас в теме
10. Andrefan 25.04.18 10:14 Сейчас в теме
Отличный подход, спасибо.
Просим другие шпаргалки с ассоциациями (или без них) !!!!
13. vasilev2015 2687 25.04.18 10:24 Сейчас в теме
(10) сам тоже собираюсь на экзамен ))
11. Andrefan 25.04.18 10:21 Сейчас в теме
Информация с ИТС тоже крайне полезна, спасибо. Подскажите, вы просто глазами это всё находили или делали какие-то фильтры?
12. vasilev2015 2687 25.04.18 10:23 Сейчас в теме
(11) это даже не ИТС, это файл из каталога установки. Открыл в Word, искал интересующие меня слова: транзакция, блокировка, экскалация...
14. Yashazz 4709 17.03.21 12:35 Сейчас в теме
Просто, доходчиво и прекрасно. Вот это я понимаю, достойный уровень подачи материала, притом, что всё лаконично донельзя. Браво.
Оставьте свое сообщение