Имя: Пароль:
1C
1С v8
Нужно ли выносить таблицу с отбором во временную?
0 DTX 4th
 
17.12.16
21:31
Пример запроса:
ВЫБРАТЬ
    ФизическиеЛица.Ссылка КАК Ссылка,
    АвансыРаботникамОрганизаций.СуммаАванса
ИЗ
    Справочник.ФизическиеЛица КАК ФизическиеЛица
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АвансыРаботникамОрганизаций КАК АвансыРаботникамОрганизаций
        ПО (АвансыРаботникамОрганизаций.Физлицо = ФизическиеЛица.Ссылка)
            И (АвансыРаботникамОрганизаций.Организация = &Организация)
ГДЕ
    ФизическиеЛица.Ссылка В(&Физлица)
    И АвансыРаботникамОрганизаций.СуммаАванса ЕСТЬ NULL

УПОРЯДОЧИТЬ ПО
    Ссылка
АВТОУПОРЯДОЧИВАНИЕ


Нужно ли выносить выборку по физлицам (ФизическиеЛица.Ссылка В &Физлица) во временную таблицу? Сейчас, по идее, сначала пройдёт соединение, а только потом отбор. В результате скуль будет вынужден соединять всю таблицу, когда надо лишь несколько строк.

Где можно почитать о подобных тонкостях?
1 H A D G E H O G s
 
17.12.16
21:32
нет, не нужно. ms sql сделает все хорошо
2 zak555
 
17.12.16
21:33
в склейку отправь
3 DTX 4th
 
17.12.16
21:39
(1) Спасибо. А нет никакой книженции, где расписано что-нибудь подобное?

(2) Что отправить? В какую склейку?
4 H A D G E H O G s
 
17.12.16
21:52
(3)  "Что отправить? В какую склейку?"

Зак глупит. Думает, что что-то можно перенести в условие связи.
5 youalex
 
17.12.16
21:59
(0) Исходя из условия, "АвансыРаботникамОрганизаций.СуммаАванса" - можно заменить на NULL )
6 Fragster
 
гуру
17.12.16
22:13
Если измерение рс индексировано - можно ещё где ссылка не в выбрать.... Вместо соединения
7 Fragster
 
гуру
17.12.16
22:16
Или даже
Где не 1 в выбрать первые 1 1 из рс где рс.фл = ссылка
Что превратиться на стороне скуля в нот экзист
8 vi0
 
18.12.16
14:00
(0) изучай планы обмена, экспериментируй
9 vi0
 
18.12.16
14:03
(3) вот посмотри http://www.labirint.ru/books/420726/
но лучше читать в оригинале, т.к. перевод отвратный
10 Diman000
 
18.12.16
14:07
С выносом во временные таблицы надо аккуратней. Когда они большие и много народу одновременно формируют такие отчеты, то сикуль начинает загибаться.
Последний раз я занимался оптимизация именно таких отчетов, когда все мелочи решили через ВТ гонять. Не дело это. Оптимально это несколько небольших ВТ, которые затем в финальном запросе "склеиваются" уже в результат.
11 vi0
 
18.12.16
14:37
(8) + "планы обмена" - надо ж так было ляпнуть
планы запросов имел ввиду
12 DTX 4th
 
18.12.16
17:20
(9) Интересно, спасибо.

Планах запросов чет вообще не хочется ковыряться)
13 vi0
 
18.12.16
17:22
(12) это придется делать, если у тебя есть желание разобраться
14 Torquader
 
18.12.16
17:25
(12) В плане запроса SQL-сервер сообщает о том, как он планирует выполнять ваш запрос. Если вы хотите действительно помочь ему в выполнении, то без плана вам не обойтись, так как даже визуально похожие запросы могут выполняться совершенно по-разному.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший