![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование оперативной памяти при работе с ADO [D7, Access]
Miguel1 © (2004-07-01 15:15:00)У меня есть база на Access, содержащая массу BLOB полей, объемом около 1 Гб. При использовании TADOConnection через Jet драйвер, после TADOTable.Open все собержимое таблицы кешируется в оперативку! Т.е. нужен минимум гиг оперативки только чтобы программа загрузилась! Как можно снизить использование ресурсов системы при таком подходе?
Соловьев (2004-07-01 15:33:00) [1]хотелось бы взглянуть на структуру БД.
ИМХО, картинки должны хранится в отдельной таблице, а в главной только ссылка. И когда пользователь рыщит, то не подгружать и при скроллинге, а загружать картинку, только по нажатию кнопки или по таймеру с задержкой.
Sandman25 (2004-07-01 15:31:00) [2][4] Miguel1 (01.07.04 15:26)
Ну если Вам сразу надо редактировать 1Гб, то тут ничем не помочь.
Но я почему-то подозреваю, что у Вас там не одна запись в таблице, а несколько. И вот чтобы отобразить и отредактировать 1 запись, поможет select * from mytable where myfield = 1 или что-то вроде того. Тогда только 1 запись будет загружена. Плюс еще есть возможность загружать blob поля по явному требованию, но я тут Вам не помогу - нужны спецы по ADO.
Miguel1 (2004-07-01 15:26:00) [3]так в том то и дело, что мне ВСЕ нужно
и смотреть, и редактировать
Sandman25 (2004-07-01 15:23:00) [4][2] Miguel1 (01.07.04 15:19)
Смотря как использовать. Если с умом, а не простое select * from mytable, то поможет. Извлекать нужно только то, что действительно нужно пользователю, а не содержимое всей таблицы.
Miguel1 (2004-07-01 15:19:00) [5]а если TADOQuery использовать, проможет?
Sandman25 (2004-07-01 15:18:00) [6]Не стоит TxxxTable использовать.