в (3) неправильно, т.к. оптимизатор запроса не будет сохранять план такого запроса и каждый раз будет строить новый.
лучше как в (5) - генерировать несколько текстов запросов
либо если очень хочется универсальности , то
перейти от конструкции
менеджер = &Менеджер
к
(Менеджер >= & mivМенеджер) И (Менеджер < & maxМенеджер).
И для заполненного значения ссылка Менеджер = mivМенеджер
maxМенеджер = mivМенеджер+1;
А для незаполненого mivМенеджер = УникальныйИдентификатор("00000....0000")
maxМенеджер = УникальныйИдентификатор("FFFF....FFFF")
но случае применения доп условий отимизатор может выбрать не тот индекс.
такая технология подходит дискретных значений.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой