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