BDE Locate()
Вопрос: при использовании Table->Locate(...) (и первом и последующих вызовах)находится только первая запись с начала таблицы.
При использовании Table->Filter=... находится все, но не используется индекс. На миллионе записей это не есть хорошо.
?: Так как всё же найти все записи по условию?
Подскажите pls.
Гемор с BDE не лечится принципиально.
Взял embedded Firebird сервер. Весчь. Рекомендую.
Цитата:
Originally posted by ReSearcher
Вопрос разрешился.
Гемор с BDE не лечится принципиально.
Взял embedded Firebird сервер. Весчь. Рекомендую.
Вопрос разрешился.
Гемор с BDE не лечится принципиально.
Взял embedded Firebird сервер. Весчь. Рекомендую.
Это верно. В любом случае мульон записей - это уже повод задуматься о сервере. Хотябы embedded.
Цитата:
Originally posted by ReSearcher
Понадобилось мне написать простенький эксплорер DBF с поиском. Взял BDE. Таблица большая > 1 млн. записей.
Вопрос: при использовании Table->Locate(...) (и первом и последующих вызовах)находится только первая запись с начала таблицы.
При использовании Table->Filter=... находится все, но не используется индекс. На миллионе записей это не есть хорошо.
?: Так как всё же найти все записи по условию?
Подскажите pls.
Понадобилось мне написать простенький эксплорер DBF с поиском. Взял BDE. Таблица большая > 1 млн. записей.
Вопрос: при использовании Table->Locate(...) (и первом и последующих вызовах)находится только первая запись с начала таблицы.
При использовании Table->Filter=... находится все, но не используется индекс. На миллионе записей это не есть хорошо.
?: Так как всё же найти все записи по условию?
Подскажите pls.
Можно и по миллиону записей средствами BDE быстро искать. Создаёшь для таблички индекс по нужнум полям и делаешь TableX->EditKey(), заполняешь ключевые поля и делаешь TableX->GotoKey(); Я делал на 1.7 миллионов записей, всё работало достаточно быстро (хотя, конечно, Visual FoxPro 6 всё равно быстрее работает, сорри за оффтоп).
Цитата:
Originally posted by Plisteron
Можно и по миллиону записей средствами BDE быстро искать. Создаёшь для таблички индекс по нужнум полям и делаешь TableX->EditKey(), заполняешь ключевые поля и делаешь TableX->GotoKey(); Я делал на 1.7 миллионов записей, всё работало достаточно быстро (хотя, конечно, Visual FoxPro 6 всё равно быстрее работает, сорри за оффтоп).
Можно и по миллиону записей средствами BDE быстро искать. Создаёшь для таблички индекс по нужнум полям и делаешь TableX->EditKey(), заполняешь ключевые поля и делаешь TableX->GotoKey(); Я делал на 1.7 миллионов записей, всё работало достаточно быстро (хотя, конечно, Visual FoxPro 6 всё равно быстрее работает, сорри за оффтоп).
Не оффтоп - по тому как тема достаточно животрепещущая. Но по моим наблюдениям - файловая база содержащая свыше 1Г записей - большая обуза. Можно в принципе лить в таблички, индексировать - но если база живая - хм...