FB 1.5. IBX. В проге часто выполняется запрос вида
Код: Выделить всё
Select First m Skip n * From GoodsT Where ShowIF>=:ShowP Order By NameCF,DateDF Descending,CodeIF
В табличке около 20000 записей. Главное требование - побыстрей выдернуть требуемую порцию данных. Индексы на поля NameCF и DateDF есть, а CodeIF - это PK. Запрос идёт натуралом, вот я и спрашую - можно ли, и, главное, нужно ли заставить его выполняться с использованием индекса ? Составной индекс вида
Код: Выделить всё
Create Index SomeI On GoodsT(NameCF,DateDF,CodeIF)
я пробовал, но он тоже не цепляется, видимо, из-за того, что в запросе DateDF Desc ? Или потому, что разнотипные поля ?
На всякий даю статистику индексов
NameCF (VarChar(100)) - 0.0000419691...
CodeIF (Integer) - 0.0000403469...
DateDF (Date) - 0.000792393....
В обчем, или разжуйте, плиз, или ткните носом в где почитать. Спасибо.