Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

поиск в большой базе [D7, Access]


Страницы:   1 2

sherminator ©   (2004-02-11 13:17:00) 

есть база аксесовская... в ней штук 20 таблиц... каждая содержит по нескольку десятков тысяч записей... каким образом ускорить поиск по этим таблицам??? использую следующий код:

Table1.TableName:="FLDOLGN";
Table1.Open;
Table1.First;
while not Table1.Eof do
begin
if Table1.FieldByName("IDUL").AsString = idul
then Label11.Caption := Table1.FieldByName("DOLGN").AsString;
Table1.Next;
end;
Table1.Close;

далее меняю значение TableName и продолжаю обработку следующей таблицы... проблема в том, что иногда выскакивает ошибка о нехватке памяти... да и если честно запрос с выводом порядка 12-15 значений собранных из разных таблиц занимает длительное время...(((( может как-то можно иначе всё сделать???


sherminator   (2004-02-11 13:31:00) [21]

2VLAD-MAL где что лежит я знаю... проблема в том, что данные в одной таблице содержат ключи для того, чтобы найти данные, которые содержатся в другой таблице... вот и приходится лопатить по нескольку таблиц... построение базы согласен что шальное, но выбирать не приходится... что дают с тем и работаю...


sherminator   (2004-02-11 13:25:00) [22]

2Sandman25 можно поподробнее остановиться на структуре "select dolgn from fldolgn where idul = :idul"???????

2Anatoly Podgoretsky сенкс... на самом деле не продумал...


VLAD-MAL   (2004-02-11 13:23:00) [23]

Ты, наверное, что-то там свое (объект) много раз создаешь, и не убиваешь потом.
Вообще, по-моему, с логикой построения базы какие-то траблы...
Чумовая операция какая-то... У тебя что, не известно, в каких таблицах какие поля? Создай тогда спец. таблицу - репозиторий, в которой список всех полей + где они лежат...

Таблица Repository:

Id Field_Name Table_Name
-------------------------
1 Id Repository
2 Field_Name Repository
3 Table_Name Repository
4 FLDOLGN Super_Puper_Table
...
Вообще, зачем тебе это понадобилось?


Anatoly Podgoretsky   (2004-02-11 13:20:00) [24]

Конечно, если после нахождения перкращать цикл.


Johnmen   (2004-02-11 13:19:00) [25]

А в чем заключается обработка ?


Sandman25   (2004-02-11 13:19:00) [26]

select dolgn from fldolgn where idul = :idul


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо