Большой объём БД и память

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Lexa
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 17.11.2005 (Чт) 0:13
Откуда: Тверь

Большой объём БД и память

Сообщение Lexa » 07.01.2006 (Сб) 4:16

1.Есть большая БД примерно 195 тыс записей (в скором будущем больше) MS Access.
2. Коннект -> OleDb.Connecor - > OleDbDataAdapter -> DataTable -> DataGrid

Есть следующие проблемы:

1. При отображении таблицы в DataGrid размер выделенной памяти (по Task Manageru) под прогу составляет ~145 МБ. Прога дико начинает тормозить.

Вопросы:
1. Что из элементов сжирает такое количество ресурсов.
2. Как выгрузить ресурсы занимаемые данными элементами. Например LDATATABLE.Clear() (LDATATABLE As DataTable) не даёт ни каких результатов, может DataAdapter выгрузить надо ? (только что придумал)
3. При работе с таблицами в MS Access XP подобная таблица "сжирает" около 34 МБ памяти не очень взирая на количество записей. Как добится такого результата ?

Заранее благодарен.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 07.01.2006 (Сб) 11:38

Используй LIstView в VirtualMode=True

Если DataGrid, то загружай данные постранично.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Lexa
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 17.11.2005 (Чт) 0:13
Откуда: Тверь

Сообщение Lexa » 07.01.2006 (Сб) 15:11

А в VS.NET 2003 такое есть VirtualMode?
И как разгрузить ресурсы, таблица то закрыта, а память-то остаётся занятой ?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 07.01.2006 (Сб) 20:36

dt.dispose
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Lexa
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 17.11.2005 (Чт) 0:13
Откуда: Тверь

Сообщение Lexa » 07.01.2006 (Сб) 22:43

2Sebas

Вот что-то dispose и не работает.
При закрытии формы Close Event стоит

DATATABLE.Dispose() не работает

Вопрос: почему ?

2. Как определить количество памяты выделенное под любой объект ?


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList