Вниз
Скачать: CL | DM;

Проблема с большими базами на FoxPro   Найти похожие ветки 

 
mib431 ©   (2003-02-19 22:31) [0]

Проблема.
Есть БД на FoxPro (.dbf). Грубо говоря, два файла: основной (~6 млн. записей, ~600Mb) и словарик (~300 тыс., ~20Mb). Оба отындексированны по всем полям (.cdx).
В TQuery делаю стандартный запрос, типа "SELECT MAIN.FIELD1,VOC.FIELD2 WHERE MAIN.FIELD3=VOC.FIELD4 AND VOC.FIELD5="АБВ"".
Дождаться окончания выполнения этого запроса не представляется возможным.
Если искать по отдельности, т.е. в VOC искать "АБВ", в MAIN искать конкретные значения FIELD3, то скорость отличная - всё ОК! Если вместе - то... При поиске создаётся впечатление, что что-то не то с индексами.
В чем здесь дело и как с этим бороться?
Я пробовал перевести это всё в родной Paradox, но он с такими большими файлами не справляется (при переводе говорит "Table is full.") И вообще говоря, не уверен, что это бы помогло.
Я готов перевести эту БД в любой формат - лишь бы искала шустро. Хотя, конечно, в идеале хорошо бы оставить dbf-ки. Подскажите, кто что может.
Может, правда, я что-нибудь не так делаю?


 
sniknik ©   (2003-02-19 23:17) [1]

Оставь все как есть, работай через ODBC Visual Foxpro Driver, поменяй запрос сделай вложенный, обьеденение на таких таблицах точно не дождешся, или хотя бы FROM добавь :-)).

для Paradox BLOCK SIZE = 32768 потянет размер до 2гиг.

перевести в формат любого SQL Server-а (самое время для таких табличек), предлагаю MSSQL но подойдет и любой другой.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
1-29798
Adolf
2003-02-27 17:53
2003.03.10
Граница


1-29891
Onward
2003-02-25 22:42
2003.03.10
Работа с копонентом NMSMTP в Delphi6


4-30184
Ahmad K
2003-01-20 02:30
2003.03.10
Выход из виндовса для проги?!


7-30160
Dmitriy_R
2003-01-13 06:57
2003.03.10
CD-Rom или кнопка PLAY на морде.


3-29770
Sherbacov
2003-02-17 18:00
2003.03.10
Обновление у клиентов




   Наверх