Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Оптимизация соединения в запросе

Оптимизация соединения в запросе
Я
   Ник080808
 
03.05.19 - 17:00
Если я получаю данные, допустим  табличной части Товары РТУ по конкретному документу
и потом мне нужно присобачить другую таблицу с соединением по ссылке, например

Выбрать Товары.Номенклатура,ВТ.Статус из Документ.РТУ.Товары Как Товары Внутреннее соединение Регистрсведений.Статусы Как ВТ по Товары.Ссылка= Вт.Документ где Товары.Ссылка=&СсылкаНаМойДокумент
собственно, никогда не задумывался. а стоит еще в условии дописывать: по Товары.Ссылка= Вт.Документ  И вт.Документ = &СсылкаНаМойДокумент. Будет ли  в этом случае запрос оптимальнее или на таком объеме нет? и вообще отбирает ли скуль записи перед тем как соединить по условиям соединения или нет?
 
 
   fisher
 
1 - 03.05.19 - 17:15
При нормальной работе оптимизатора запросов разницы вроде быть не должно. Скуль пытается рассматривать запрос как декларацию результата, а не как алгоритм выполнения и выстраивает реальный алгоритм выполнения с оглядкой на множество факторов. Другими словами, один и тот же запрос при различном внутреннем состоянии системы может выполняться по-разному. И наоборот, различные запросы могут выполняться одинаково (если предполагается одинаковый результат).
   fisher
 
2 - 03.05.19 - 17:21
Если тема интересна, погугли "план выполнения запроса". У скуля есть инструментарий для анализа реального алгоритма выполнения запроса. Есть куча статей (и в применении к 1С в частности), как его "читать". Собственно, это часть знаний необходимых "эксперту по технологическим вопросам".
   Ник080808
 
3 - 03.05.19 - 17:33
(2) да вот начал разбираться, план запроса я даже получил в профайлере, а как его разобрать, что значат эти надписи инфы маловато. есть пара тройка операторов описанные неплохо, но в целом инфы маловато. сижу майкрософтовскую справку колупаю.
   fisher
 
4 - 03.05.19 - 18:01
(3) Вот навскидку: http://catalog.mista.ru/public/877736/
   H A D G E H O G s
 
5 - 03.05.19 - 18:51
(4) статья печальна и стереотипна.
   Ник080808
 
6 - 03.05.19 - 20:41
(4) по ней и разбираюсь, но много непонятного.
   Ник080808
 
7 - 03.05.19 - 20:42
(5) а чего печальная?
   H A D G E H O G s
 
8 - 03.05.19 - 21:09
(7)
1) nestedloops обкакали зазря.
2) tablescan-ов в 1с почти не бывает (только когда ВТ).
3) indexscan также плох, как и tablescan, но clusteredindexscan еще хуже.

дальше не читал, дальше статистика пошла, там ничего нового.
   H A D G E H O G s
 
9 - 03.05.19 - 21:10
2) "tablescan-ов в 1с почти не бывает (только когда ВТ). " - вместо него clusteredindexscan
   H A D G E H O G s
 
10 - 03.05.19 - 21:13
(8) "indexscan также плох, как и tablescan" это в том случае, когда ты не попал в сортировку.
   Ник080808
 
11 - 03.05.19 - 21:17
(8) а можете посоветовать что то почитать о планах запросах с детальным описанием всех сканов и прочих операторов
   Ник080808
 
12 - 03.05.19 - 21:17
(11) + с расчетом на нубов.
   H A D G E H O G s
 
13 - 03.05.19 - 21:30
(11) Нет такого. Не находил.
Просто возникает что-то непонятное, ищещь в инете, как правило, англоязычном, а там - хоба - ссылка на Мелкософтовский сайт с описанием причины.
Как пример:

ВЫБРАТЬ
РТУ.Дата,
РТУ.Номер
из Документ.РТУ как РТУ

посмотрите на план запроса на большой базе и удивитесь.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.