Господа знатоки! Очень надеюсь на Вашу помощь!
Проблема следующая
Программа в цикле каждые 10 сек делает Refresh 10-15 DataSets (ADOTable & ADOQuery) - в зависимости от того сколько их в данный момент открыто
Размер базы данных (MS-ACCESS) порядка 5M
Размер самой программы (exe + сопутствующие файлы - чуть больше 3.5M
При этом занимаемая память - 40 - 60M !!! Плюс загрузка процессор в каждом цикле подскакивает на 20 - 40%. Попытки закрыть ВСЕ(!) DataSets в RunTime позволяют сократить "сжираемую" память на 3-4М - т.e. как раз на тот объём который им и положено занимать. А остальные 35 - 55М и не думают исчезать... Естественно работа страшно тормозится...
Может у кого найдутся подходящие идеи что со всем этим можно сделать?
Заранее благодарен
Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице. Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.
16-03-2006 10:31
Есть супер-мега-гениальная идея: уйти от Access на нормальную СУБД. Так как в Access не оптимизированы дисковые операции, то он обеспечивает быстродействие за счет загрузки данных в оперативку. Ну и хапает он ее на всякий случай по самое "не хочу".
Перефразируя старый анекдот....
-- Сколько оперативной памяти занимает MS Access?
-- Сколько? Хм... Сколько есть, столько и занимает.
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Функция может не работать в некоторых версиях броузеров.