Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

BDE Locate()

8.2K
20 ноября 2005 года
ReSearcher
19 / / 12.11.2005
Понадобилось мне написать простенький эксплорер DBF с поиском. Взял BDE. Таблица большая > 1 млн. записей.

Вопрос: при использовании Table->Locate(...) (и первом и последующих вызовах)находится только первая запись с начала таблицы.

При использовании Table->Filter=... находится все, но не используется индекс. На миллионе записей это не есть хорошо.


?: Так как всё же найти все записи по условию?
Подскажите pls.
8.2K
21 ноября 2005 года
ReSearcher
19 / / 12.11.2005
Вопрос разрешился.

Гемор с BDE не лечится принципиально.

Взял embedded Firebird сервер. Весчь. Рекомендую.
1
21 ноября 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by ReSearcher
Вопрос разрешился.

Гемор с BDE не лечится принципиально.

Взял embedded Firebird сервер. Весчь. Рекомендую.


Это верно. В любом случае мульон записей - это уже повод задуматься о сервере. Хотябы embedded.

294
21 ноября 2005 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by ReSearcher
Понадобилось мне написать простенький эксплорер DBF с поиском. Взял BDE. Таблица большая > 1 млн. записей.

Вопрос: при использовании Table->Locate(...) (и первом и последующих вызовах)находится только первая запись с начала таблицы.

При использовании Table->Filter=... находится все, но не используется индекс. На миллионе записей это не есть хорошо.


?: Так как всё же найти все записи по условию?
Подскажите pls.



Можно и по миллиону записей средствами BDE быстро искать. Создаёшь для таблички индекс по нужнум полям и делаешь TableX->EditKey(), заполняешь ключевые поля и делаешь TableX->GotoKey(); Я делал на 1.7 миллионов записей, всё работало достаточно быстро (хотя, конечно, Visual FoxPro 6 всё равно быстрее работает, сорри за оффтоп).

1
21 ноября 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Plisteron
Можно и по миллиону записей средствами BDE быстро искать. Создаёшь для таблички индекс по нужнум полям и делаешь TableX->EditKey(), заполняешь ключевые поля и делаешь TableX->GotoKey(); Я делал на 1.7 миллионов записей, всё работало достаточно быстро (хотя, конечно, Visual FoxPro 6 всё равно быстрее работает, сорри за оффтоп).


Не оффтоп - по тому как тема достаточно животрепещущая. Но по моим наблюдениям - файловая база содержащая свыше 1Г записей - большая обуза. Можно в принципе лить в таблички, индексировать - но если база живая - хм...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог