![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADO ;Создание индекса [D6, dBase, FoxPro, ADO]
Sergei © (2003-03-09 10:00:00)Уважаемые мастера подскажите пожалуйста
компонент ADOQuery база FoxPro
как создать программно индекс или изменить индексируемые поля в уже созданом индексе ????
и ещё проблема подскажите пожалуйста допустим в базе есть индекс основу составляют сумма 2полей(Поле1+ Поле2)
по чему когда к примеру когда делаю запрос Like и указываю составной индекс запрос дляится гораздо дольше чем если в качестве индекса выступало одно поле ????
Спасибо пожалуйста ?????
sniknik (2003-03-09 22:16:00) [1]попробуй открой файл как текст найди вхождение (только метод должен быть быстрым, однопроходным) после по смещению вычисли запись, примерно так и будет.
это как пример,
просто пытаюсь сказать что внутренние средства которые имеют полный доступ наверняка будут быстрее чем ты сделаеш сам с ограниченным. (не думаеш же ты что драйвер внутри использует те функции что выставленны наружу? ну типа цикл с Next? без попытки оптимизации? хотя и с ним не так уж сильно отличается. Надо только не использовать удобные (FieldByName()...) функции а использовать быстрые Fields[i] и тд.)
Sergei (2003-03-09 21:42:00) [2]>вообще не использует, чистый перебор
да ладно чистый перебор это очень долго а Like так быстро работает
sniknik (2003-03-09 19:49:00) [3]> в смысле не разбирает составных ????
вообще не использует, чистый перебор.
Sergei (2003-03-09 17:11:00) [4]>CREATE INDEX ID ON TABLE1 (ID)
>DROP INDEX ID ON TABLE1
точно совсем забыл
спасибо большое
>Like индексов не использует
в смысле не разбирает составных ????
sniknik (2003-03-09 16:26:00) [5]> как создать программно индекс ......
к примеру
CREATE INDEX ID ON TABLE1 (ID)
DROP INDEX ID ON TABLE1
> ..... делаю запрос Like ....
Like индексов не использует. поэтому перетензия не по адресу.