|
Не понимаю почему запрос стал быстрее ↓ (Волшебник 29.02.2024 17:30) |
☑ |
0
Kukr47
29.02.24
✎
16:29
|
Есть запрос:
ВЫБРАТЬ
АТС_УпаковочныеЛисты.ДокументОснование КАК ЗК
ПОМЕСТИТЬ вт_ЗК
ИЗ
РегистрСведений.АТС_УпаковочныеЛисты КАК АТС_УпаковочныеЛисты
ГДЕ
АТС_УпаковочныеЛисты.РасходныйОрдер = &РасходныйОрдер
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
АТС_УпаковочныеЛисты.УпаковочныйЛист КАК УпаковочныйЛист
ИЗ
РегистрСведений.АТС_УпаковочныеЛисты КАК АТС_УпаковочныеЛисты
//ВНУТРЕННЕЕ СОЕДИНЕНИЕ вт_ЗК КАК вт_ЗК
//ПО АТС_УпаковочныеЛисты.ДокументОснование = вт_ЗК.ЗК
ГДЕ
НЕ АТС_УпаковочныеЛисты.УпаковочныйЛист В (&МассивТолькоЧтоСобранныхУпаклистов)
//И АТС_УпаковочныеЛисты.ДокументОснование В
// (ВЫБРАТЬ
// вт_ЗК.ЗК
// ИЗ
// вт_ЗК)
И НЕ АТС_УпаковочныеЛисты.УпаковочныйЛист.Подпаковка
меняются лишь строки которые закоментированы,
если раскоментить все строки то запрос получается 0.03
если закоменчено хоть что-то из двух(либо соединение либо условие в где) то запрос выполняется 0.11, не понимаю почему так происходит потому что вроде как условие в где и соединение выполняет одну и ту же функцию и обрезает такие же данные, но вместе работает лучше...
|
|
1
Буковка
29.02.24
✎
16:30
|
(0) у Вас в условии ГДЕ вложенный запрос.
|
|
2
Kukr47
29.02.24
✎
16:33
|
(1) я это знаю, и как он ускоряет выполнение запроса? если уже есть внутреннее соединение?
|
|
3
Hmster
29.02.24
✎
16:37
|
(2) MS SQL?
|
|
4
Ненавижу 1С
29.02.24
✎
16:40
|
ну в закомментированном виде первая таблица впустую выполняется, так что не равноценно
|
|
5
Kukr47
29.02.24
✎
16:42
|
(4) суть в том что допустим если у меня только соединение то выполняется 0.1, если я добавляю условие со вложенным запросом то получаю 0.01-0.03
также верно и наоборот если только условие где и я добавляю соединение
|
|
6
Garikk
29.02.24
✎
16:43
|
(0) я хз как реально ну тупо в лоб
результатов где урезанный фильтр ГДЕ - больше, и дольше выполняется fetch из базы соответственно
когда условие больше - результатов меньше, а само условие видимо практически не вносит потерь из-за оптимизаций движком БД
|
|
7
stopa85
29.02.24
✎
17:13
|
Планы запросов смотреть пробовали?
Нет, ну серьезно, без них же никак.
|
|
8
Волшебник
29.02.24
✎
17:30
|
0.03 и 0.11 - разница несущественная
|
|
9
NcSteel
29.02.24
✎
22:51
|
(0) оптимизатор запроса лучше понимает что от него хотят и собирает более корректный план запроса.
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой