Несколько индексов в одной выборке! Возможно?
Добавлено: 15 фев 2008, 16:03
Появилась такая задача, в которой необходимо выбирать из таблици oborot данные порядка 30000 тысяч раз с разными параметрами(аналитиками). Время работы хочется максимально уменьшить! Привожу исходник выборки
Изменяются st_vat и mvz_var, количество комбинаций порядка 30000.
Хочется чтобы использовались индексы по oborot.tblos[1] oborot.kauos[1] и oborot.tblos[3] oborot.kauos[3] но компилятор грит что нужен один составной индекс (oborot.datob oborot.datob oborot.tblos[1] oborot.kauos[1] oborot.tblos[3] oborot.kauos[3]).
Если несколько индексов одновременно нельзя использовать , то почему тогда на oborot.datob oborot.datob не ругается?
Можно ли использовать несколько индексов в одной выборке по одной таблице?
Код: Выделить всё
.Create view a1
as
select *
from oborot, spkau, SYNONYM spkau spkau1
where ((
word(127) == spkau.kodgrkau
and st_var == spkau.code
and word(10009) == spkau1.kodgrkau
and mvz_var == spkau1.code
and FDate<<= oborot.datob and LDate >>= oborot.datob
and 127 == oborot.tblos[1](noindex)
and spkau.nrec == oborot.kauos[1](noindex)
and 10009 == oborot.tblos[3](noindex)
and spkau1.nrec == oborot.kauos[3](noindex)
))
and oborot.kauos[3]<>000100000000733Dh
;
Хочется чтобы использовались индексы по oborot.tblos[1] oborot.kauos[1] и oborot.tblos[3] oborot.kauos[3] но компилятор грит что нужен один составной индекс (oborot.datob oborot.datob oborot.tblos[1] oborot.kauos[1] oborot.tblos[3] oborot.kauos[3]).
Если несколько индексов одновременно нельзя использовать , то почему тогда на oborot.datob oborot.datob не ругается?
Можно ли использовать несколько индексов в одной выборке по одной таблице?