Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.10;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.02 c
9-29694
Nostradamus
2002-10-08 18:51
2003.03.10
Как лучше?


1-29847
joint
2003-02-26 12:37
2003.03.10
Контроль за временем


1-29840
Paxer
2003-02-27 18:56
2003.03.10
TDateTimePicker c возможностью ввода пустой даты?


3-29700
vlad40
2003-02-18 15:43
2003.03.10
Можно ли работать с SyBase?


7-30147
cc43294
2003-01-11 17:02
2003.03.10
Modem