Главная страница
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.019 c
9-1271
Zombik666
2003-02-28 10:19
2003.09.01
2 exeшника


3-1345
Buka
2003-08-05 13:24
2003.09.01
Перенос данных из Excel в Table


14-1565
Yakudza
2003-08-11 18:01
2003.09.01
Поделитесь результатами :)))


14-1608
Marser
2003-08-13 00:15
2003.09.01
Именинники 13 августа


14-1622
keymaster
2003-08-13 15:06
2003.09.01
Формат PDF