tradДавай еще чуток усложним ситуацию... В отчет отбираем документы с использованием фильра по:
- одному виду документов
- периоду
- общему реквизиту с галкой Отбор (допустим, Фирма)
- товару
доп. ревизит ТЧ задействовать не будем.
Рисуем запрос:
Select
ЖурналДокументов.Date_Time_IDDOC
From
ЖурналДокументов
Left Join докЗаявкаНаСкладТЧ докЗаявкаТЧ On Right(ЖурналДокументов.Date_Time_IDDOC, 9) = докЗаявкаТЧ.IDDOC
Where
ЖурналДокументов.Date_Time_IDDOC > @Начдата And ЖурналДокументов.Date_Time_IDDOC < @КонДатаПлюс1
And ЖурналДокументов.Фирма = @идФирма
And докЗаявкаТЧ.ТОвар = @идТовар
And ЖурналДокументов.IdDocDef = 998
Потом строим индекс:
CREATE UNIQUE INDEX [_DT998] ON [dbo].[DT998]([IDDOC], SP1002) ON [PRIMARY]
DT998 - документ ЗаявкаНаСклад, SP1002 - товар.
Чуток подправляем запрос:
Select
ЖурналДокументов.Date_Time_IDDOC
From
ЖурналДокументов
Left Join докЗаявкаНаСкладТЧ докЗаявкаТЧ On докЗаявкаТЧ.IDDOC = Right(ЖурналДокументов.Date_Time_IDDOC, 9) And докЗаявкаТЧ.ТОвар = @идТовар
Where
ЖурналДокументов.Date_Time_IDDOC > @Начдата And ЖурналДокументов.Date_Time_IDDOC < @КонДатаПлюс1
And ЖурналДокументов.Фирма = @идФирма
And ЖурналДокументов.IdDocDef = 998
И, блин, не видим никакого ускорения
Слишком мало строк приходится на связывание с докЗаявкаНаСкладТЧ.
ИМХО, использование _1SCRDOC в данном случае только снизит скорость выполнения запроса.