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

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

ADO, кто знает почему приложение тянет много памяти после запроса [D7]


Dima1 ©   (2003-09-27 09:33:00) 

Обьясните мне пожалуйста. Есть БД Access. В ней две таблицы всего. В этих таблицах простой текст, типа ФИО человека, адресс ну и еще некоторый текст, максимум до 300 символов примерно. В этой таблице уже порядка 350 записей. Как видите маленькая. Так вот вопрос. При даже простом поиске LOCATE - после того как найдена запись, я жму Ctr+ALT+Del и вижу что моя прога хавает порядка 11 метров памяти. (Windows XP)
Почему, так. И самое главное, что даже после удаления ADO обьем уменьшается только на 1- 1,5 метра. Как этого избежать. Ведь я искал всего одну запись, а потом еще и удалил ADO, а потребление всеравно большое. Обьясните и посоветуйте что я не так делаю.
В момент поиска LOCATE в SQL запросе выбрано всего одно поле, по которому ищу, тогда прога еще мало хавает. Но когда запись найдена и мне надо вынять все поля, вот тогда она становится прожорливаяя. и уже не уменьшается. Может какой то КЭШ надо както сбросить...


Виктор   (2003-09-28 15:17:00) [1]

Попробуй свойство Prepared у ADOQuery выставить в TRUE


Dima1   (2003-09-28 14:26:00) [2]

-> sniknik
Спасибо за ответ.

Но наверное со своим ADO у меня наврядли получится :( поэтому
похоже прийдется мирится с ним. А с индексированным полем, я попробую


sniknik   (2003-09-27 10:02:00) [3]

все полностью на ответственности ADO и кэш и сброс его, причем срасывает не сразу а по истечении кокогото периода (а вдруг еше понадобится?), в общем оптимизация на скорость а не на экономию памяти.
кстати локейт по неиндексированому полю буферизирует всю таблицу (а скорее всего и больше, блок в которой таблица содержится (если помещается в один), так ему проше).
> Как этого избежать.
написать свое ADO.


Наверх

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