Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.01;
Скачать: CL | DM;

Вниз

Как использовать индексы Foxpro при подключении чере ODBC ?   Найти похожие ветки 

 
Vorobyev Sergey   (2003-08-06 15:40) [0]

Привет всем!

Есть несколько таблиц *.dbf, созданных в Foxpro..
Извлекаю данные из таблиц, используя TQuery через Microsoft Visual Foxpro ODBC драйвер.. (BDE не подходит)
В таблицах много записей (до 100000 записей в среднем) и запрос выполняется ОЧЕНЬ долго (~2 мин)

Предполагаю, что если бы использовались индексы при выполнении запроса, то он выполнялся бы намного быстрее..

Вот собственно и
ВОПРОС: Возможно ли где-нибудь указать драйверу, чтобы он использовал индексы таблиц (*.cdx) при выполнении запроса?
Или все-таки драйвер автоматически использует индексы, а запрос даже в этом случае выполняется долго? (хотя сравнивал, разницы не почувствовал)
Кто знает?


 
sniknik ©   (2003-08-06 15:45) [1]

использует автоматически но и от запроса зависит (условия), на вычисляемых индекс не работает.


 
Vorobyev Sergey   (2003-08-07 07:21) [2]


> на вычисляемых индекс не работает.

А почему ?

Дело в том, что Visual Foxpro ODBC драйвер поддерживает функции в SQL запросе, причем не просто функции, а те, которые используются в досовском фокспро, например ( alltrim(), ctod(), date() и т.п.)
Неужели, включив использование этих функций в запросе, разработчики драйвера не включили поддержку индексов по вычисляемым выражениям..

К примеру, есть индекс по alltrim(fam)+alltrim(name)+alltrim(otch)..
>sniknik
Значит драйвер не будет использовать этот индекс в SQL запросе?


 
sniknik ©   (2003-08-07 08:06) [3]

не будет если в условие поставить к примеру name = "xxxx" (даже вероятно и fam = "xxxx"), для составного индекса, так понимаю, оно в таком случае и будет вычисляемым.

хотя по началу строки в индексе некоторые драйвера могут работать (поэтому не уверен во втором приведенном условии).



Страницы: 1 вся ветка

Текущий архив: 2003.09.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
7-1683
pauk
2003-06-16 15:43
2003.09.01
Принтеры


4-1728
irq
2003-06-27 11:26
2003.09.01
Инструментальная панель


1-1490
Alibaba
2003-08-18 05:17
2003.09.01
К-во елементов


1-1365
Grover_11
2003-08-17 20:44
2003.09.01
Определение файла по дате


3-1354
Vladimir Bolotin
2003-07-16 20:59
2003.09.01
Обновление информации в RXLookupCombo