да, некоторое ускорение все таки при применении индекса есть, вот такие измерения на базе, размером примерно год (около 12 периодов)
select $РегОстатки.Номенклатура Номенклатура,$РегОстатки.Количество Количество
from $РегистрИтоги.ОстаткиТМЦ РегОстатки
where РегОстатки.period=:ДатаПериодаОстатков~~ and
$РегОстатки.Номенклатура not in (select табНом.val from Номенклатура табНом)
время запроса: 5118, строк: 57991
время запроса: 5065, строк: 57991
время запроса: 5154, строк: 57991
время запроса: 5168, строк: 57991
select $РегОстатки.Номенклатура Номенклатура,$РегОстатки.Количество Количество
from $РегистрИтоги.ОстаткиТМЦ РегОстатки
where
dtos(РегОстатки.period)+$РегОстатки.Номенклатура between '20090201' and '20090201ZZZZZZZZZ' and
$РегОстатки.Номенклатура not in (select табНом.val from Номенклатура табНом)
время запроса: 3676, строк: 57991
время запроса: 3677, строк: 57991
время запроса: 3627, строк: 57991
время запроса: 3851, строк: 57991
select $РегОстатки.Номенклатура Номенклатура,$РегОстатки.Количество Количество
from $РегистрИтоги.ОстаткиТМЦ РегОстатки
where
dtos(РегОстатки.period)+$РегОстатки.Номенклатура like '20090201_________'+'_________' and
$РегОстатки.Номенклатура not in (select табНом.val from Номенклатура табНом)
время запроса: 3688, строк: 57991
время запроса: 3710, строк: 57991
время запроса: 3716, строк: 57991
время запроса: 3735, строк: 57991
время запроса: 3762, строк: 57991