Вниз
Скачать: 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.01 c
14-30133
Cr@sh
2003-02-17 20:52
2003.03.10
Первая встреча мастаков в Екатеринбурге!


14-30055
Zhenka
2003-02-20 08:28
2003.03.10
А видили ролик про Жириновского??


3-29753
Behemoth
2003-02-18 09:36
2003.03.10
Можно ли делать SQL запросы из потока?


4-30192
Adolf
2003-01-18 14:28
2003.03.10
ShellAPI


14-30102
wnew
2003-02-22 16:35
2003.03.10
Возвращаясь к вопросу




   Наверх