Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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 индексов не использует. поэтому перетензия не по адресу.


Наверх

Титульная страница Поиск, карта сайта Написать письмо