Имя: Пароль:
1C
 
Условие в запросе вешает запрос
0 Stim
 
18.05.15
13:49
нужно в запросе отобрать документы по неким параметрым.
пишу что-то типа:

...
Выбрать
ВРТабл.Контрагент,
ВРТабл.Дата,
Поместить КонтрагентыДатыДляОтбора
Из ВРТабл как ВРТабл
;
Выбрать
Реализация.Ссылка КАК Документ
ИЗ Документы.РеализацияТоваровУслуг
ГДЕ
(НачалоПериода(Реализация.Дата), Реализация.Контрагент) В(Выбрать КонтрагентыДатыДляОтбора.Дата,КонтрагентыДатыДляОтбора.Контрагент ИЗ КонтрагентыДатыДляОтбора КАК КонтрагентыДатыДляОтбора)

вот это условие наглухо вешает запрос  в базе, где данных-то не так уж много. 10 минут выполнялся запрос и вывел около 200 документов.

Что не так, как ускорить?
1 Stim
 
18.05.15
13:49
+
НачалоПериода(Реализация.Дата,ДЕНЬ)
2 Basilio
 
18.05.15
13:50
юзай Временные таблицы
3 asady
 
18.05.15
13:51
(0) внутреннее соединение ИМХО более оптимально
4 Гёдза
 
18.05.15
13:52
по дате лучше через между делать. так в индекс попадает
5 Basilio
 
18.05.15
13:52
+(2) сорри невнимательно прочитал. Данных в ВТ много? Если они слишком большие они будут только тормозить выполнение запроса.
6 sapphire
 
18.05.15
13:53
(0) Паша, не проще ли вместо столь долбаного условия использовать внутреннее соединение?
7 sapphire
 
18.05.15
13:53
(3) +1
8 Stim
 
18.05.15
13:54
сделал через внутреннее соединение. результат = 14сек.
9 Stim
 
18.05.15
13:54
странно, почему такая разница - 14 сек и 600сек
10 User_Agronom
 
18.05.15
13:55
(0)
Выбрать
ВРТабл.Контрагент,
ВРТабл.Дата,
Поместить КонтрагентыДатыДляОтбора
Из ВРТабл как ВРТабл
;

Выбрать
Реализация.Ссылка КАК Документ,
НачалоПериода(Реадизация.Дата) как ДеньДокумента,
Реализация.Контрагент
Поместить Реализации
ИЗ Документы.РеализацияТоваровУслуг
;
выбрать
Документ
из Реализации КАК Реализация
ГДЕ
(Реализация.ДеньДокумента, Реализация.Контрагент) В(Выбрать КонтрагентыДатыДляОтбора.Дата,КонтрагентыДатыДляОтбора.Контрагент ИЗ КонтрагентыДатыДляОтбора КАК КонтрагентыДатыДляОтбора)