Показать сообщение отдельно
Старый 14.03.2019, 14:33   #20  
online
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,893 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от trud Посмотреть сообщение
Так я о том и говорю, что exists join где условие накладывается на привязанную таблицу - это по сути полный скан таблицы заказов при открытии формы(т.е. ты находишь сначала по индексу записи в фильтрующей таблице, потом ищешь все заказы которые под это попадают(так так на формах обычно сортировка по коду заказа), сортируешь их, и выводишь первые 10. Это отлично работает на малых объемах, но начиная с сотни тысяч уже тормозит и никакими индексами это не победить
Это не обязательно полный скап таблицы заказов при открытии формы Сиквел может оказаться достаточно умным чтобы сначала отобрать записи в этой дополнительной таблице и потом уже результат заджойнить через nested look к таблице заказов. Более того - он может в этой дополнительнойтаблице отобрать первые 10 или 20 записей по нужному подразделению и потом их быстренько по кластерному ключу приджойнить nested loop к таблице заказов. Ну еще вариант - добавить в шапку заказа 10 или 15 полей с кодами подразделений и по всем им построить индексы. Вариант не особо блестящий, но тоже может сработать.