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

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    74335    76    14    

169

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

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

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

14.03.2024    11451    PROSTO-1C    46    

86

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

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

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

1 стартмани

15.02.2024    8732    173    ZAOSTG    74    

104

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

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

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

04.02.2024    6461    shuhratsj    16    

76

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

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

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

29.01.2024    14332    shuhratsj    103    

156

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

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

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

20.11.2023    9799    ivanov660    6    

76

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

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

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

15.11.2023    5533    a.doroshkevich    20    

72

Начните уже использовать хранилище запросов

HighLoad оптимизация Запросы

Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.

11.10.2023    16869    skovpin_sa    14    

101
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. harvester_sorrow 24 21.04.18 17:15 Сейчас в теме
Коллеге перешлю,как раз экзамен во вторник у него)
7. пользователь 22.04.18 00:43
Сообщение было скрыто модератором.
...
8. пользователь 23.04.18 04:28
Сообщение было скрыто модератором.
...
9. vasilev2015 2705 23.04.18 08:53 Сейчас в теме
(1) расскажите, если пригодится ))
2. user962133 21.04.18 17:33 Сейчас в теме
Ух ты, как раз во время, спасибо!
3. МихаилМ 21.04.18 18:02 Сейчас в теме
1с8 не поддерживает покрывающие индексы. и морозов и бурмистров избегают разговоры про нештатные оптимизации
4. vasilev2015 2705 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 2705 21.04.18 22:19 Сейчас в теме
10. Andrefan 25.04.18 10:14 Сейчас в теме
Отличный подход, спасибо.
Просим другие шпаргалки с ассоциациями (или без них) !!!!
13. vasilev2015 2705 25.04.18 10:24 Сейчас в теме
(10) сам тоже собираюсь на экзамен ))
11. Andrefan 25.04.18 10:21 Сейчас в теме
Информация с ИТС тоже крайне полезна, спасибо. Подскажите, вы просто глазами это всё находили или делали какие-то фильтры?
12. vasilev2015 2705 25.04.18 10:23 Сейчас в теме
(11) это даже не ИТС, это файл из каталога установки. Открыл в Word, искал интересующие меня слова: транзакция, блокировка, экскалация...
14. Yashazz 4732 17.03.21 12:35 Сейчас в теме
Просто, доходчиво и прекрасно. Вот это я понимаю, достойный уровень подачи материала, притом, что всё лаконично донельзя. Браво.
Оставьте свое сообщение