Цитата:
Сообщение от
mazzy
одно дело, full scan по таблице в 10тыс сотрудников + join фактов по полю с индексом.
другое дело, full scan по таблице фактов в 10млн записей.
и [не полнотекстовый] индекс - не поможет.

Как я понял EmplTable, как родительский datasource и обьект поиска, не подходит из-за логики возможного удаления из справочника работников.
Именно поэтому нужен список работников помимо EmplTable, именно в целях поиска и по историческим данным. Дополнительная таблица с несколькими полями. По ней ищем, к ней присоединяем факты.
Признак InActive Employee (удаленный работник) рано или поздно может быть полезен. Только на EmplId как на уникальный ключ я бы не полагался при этом.
KISS.