Какой вариант запроса оптимальнее и быстрее
Есть Иерархический справочник. До пустим называется Объекты. Уровень иерархии максимальный 6.
Нужно получить элемент и всех его родителей запрос.
Что оптимальнее, правильнее, быстрее
Вариант 1:
Вариант 2:
Нужно получить элемент и всех его родителей запрос.
Что оптимальнее, правильнее, быстрее
Вариант 1:
ВЫБРАТЬ
Спр.Ссылка КАК Объект,
Спр.Родитель КАК Родитель1.
Спр.Родитель.Родитель КАК Родитель2,
Спр.Родитель.Родитель.Родитель КАК Родитель3,
Спр.Родитель.Родитель.Родитель.Родитель КАК Родитель4,
Спр.Родитель.Родитель.Родитель.Родитель.Родитель КАК Родитель5,
Спр.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель КАК Родитель6
ИЗ
Справочник.Объекты КАК Спр
ПоказатьВариант 2:
ВЫБРАТЬ
Спр1.Ссылка КАК Объект,
Спр1.Родитель КАК Родитель1,
Спр2.Родитель КАК Родитель2,
Спр3.Родитель КАК Родитель3,
Спр4.Родитель КАК Родитель4,
Спр5.Родитель КАК Родитель5,
Спр6.Родитель КАК Родитель6
ИЗ
Справочник.Объекты КАК Спр1
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Объекты КАК Спр2
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Объекты КАК Спр3
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Объекты КАК Спр4
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Объекты КАК Спр5
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Объекты КАК Спр6
ПО Спр5.Родитель = Спр6.Ссылка
ПО Спр4.Родитель = Спр5.Ссылка
ПО Спр3.Родитель = Спр4.Ссылка
ПО Спр2.Родитель = Спр3.Ссылка
ПО Спр1.Родитель = Спр2.Ссылка
ПоказатьПо теме из базы знаний
- Планы запросов - это просто! Разбор оптимизаций запросов PostgreSQL на живых примерах
- Запрос всей номенклатуры с характеристиками
- Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности
- Приемы быстрой работы в EDT/Git
- Применение 1С:Аналитики и Дата акселератора, или Как получить в 1С прозрачность и скорость обработки данных для прямого доступа и контроля руководителя
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Декларативно они одинаковы. Первый - короче и нагляднее. Поэтому я бы использовал его и напрягался только при возникновении конкретных проблем производительности.
ДАЖЕ если сей момент профайлер покажет, что в первом случае построился менее оптимальный план выполнения, это вовсе не означает что так будет при других входных условиях, другом состоянии базы или после очередного патча/новой версии SQL-сервера.
ДАЖЕ если сей момент профайлер покажет, что в первом случае построился менее оптимальный план выполнения, это вовсе не означает что так будет при других входных условиях, другом состоянии базы или после очередного патча/новой версии SQL-сервера.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот