![]() |
|
Не понимаю почему запрос стал быстрее ↓ (Волшебник 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) оптимизатор запроса лучше понимает что от него хотят и собирает более корректный план запроса.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |