Чтобы SQL-запрос формировался быстрее нужно в (()) правильно описать связи и условия - в соответствии с имеющимися фильтрами по таблицам.
Нужно чтобы эти связи и условия вписывались в один фильтр? Или можно чтобы они вписывались в 2 фильтра по одной таблице? При чем эти фильтры перекрываются.?
???
Вопрос по фильтрам
Модераторы: m0p3e, edward_K, Модераторы
Не совсем понятно что ты имеешь ввиду.
В запросе есть ограничения. Например
select *
from KatSopr
where ((
date(01,01,2002) <<= KatSopr.dSopr and
date(31,01,2002) >>= KatSopr.dSopr and
Word(201) == KatSopr.vidSopr
))
;
В данном случае я накладываю ограничения на выборку. При этом я попадаю в индекс KatSopr02. В этом же индексе присутствует KatSopr.nsopr. Он с пометкой ВРег. Это значит что ты можешь его или использовать или нет. Т.е. если в выборку ты добавишь после )) order by KatSopr.nSort то все равно попадешь в индекс KatSopr02.
Фильтром в данном случае будут условия после )). Condition. Т.е. если ты напишешь так
))
(subStr(KatSopr.nSopr,1,1) = '3')
то у тебя на выборку будет наложен фильтр. Будут выданы только накладные с номером начинающемся на 3.
Мы говорим об одних фильтрах?
select *
from KatSopr
where ((
date(01,01,2002) <<= KatSopr.dSopr and
date(31,01,2002) >>= KatSopr.dSopr and
Word(201) == KatSopr.vidSopr
))
;
В данном случае я накладываю ограничения на выборку. При этом я попадаю в индекс KatSopr02. В этом же индексе присутствует KatSopr.nsopr. Он с пометкой ВРег. Это значит что ты можешь его или использовать или нет. Т.е. если в выборку ты добавишь после )) order by KatSopr.nSort то все равно попадешь в индекс KatSopr02.
Фильтром в данном случае будут условия после )). Condition. Т.е. если ты напишешь так
))
(subStr(KatSopr.nSopr,1,1) = '3')
то у тебя на выборку будет наложен фильтр. Будут выданы только накладные с номером начинающемся на 3.
Мы говорим об одних фильтрах?
Насколько я понимаю....
...HOPE под фильтрами понимает индексы. Нужно, чтобы вписывались в один.