Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Объем занимаемой памяти / 13 сообщений из 13, страница 1 из 1
05.12.2005, 10:28
    #33416468
crowler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем занимаемой памяти
Уважаемые господа, есть такая проблема. База данных Access 2000, данные из одной ее таблицы (примерно 100000 записей) загружаю в datatable, потом с этими данными работает пользователь (поиск информации).При этом объем занимаемой памяти очень высок (около 150 мб), однако скорость поиска хороша на мощном компьютере, на слабеньком с маленьким объемом ОЗУ - полный тормоз. Подскажите пожалуйста каким образом можно найти компромисс. Может быть кто-нибудь сталкивался с подобной проблемой. Заранее благодарен за любые идеи.
...
Рейтинг: 0 / 0
05.12.2005, 10:32
    #33416477
Gray-Serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем занимаемой памяти
Выгружать не все записи, использовать SELECT ... FROM ... WHERE...
Все равно пользователь не может просматривать все 100000 записей.
...
Рейтинг: 0 / 0
05.12.2005, 10:45
    #33416526
crowler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем занимаемой памяти
Критерий поиска пользователя может выходить за рамки установленных мной условий where тогда прийдется при каждом запросе пользователя соединяться с базой и выгребать оттуда данные. Скорость будет падать значительно
...
Рейтинг: 0 / 0
05.12.2005, 10:53
    #33416549
Шайтан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем занимаемой памяти
crowlerКритерий поиска пользователя может выходить за рамки установленных мной условий where тогда прийдется при каждом запросе пользователя соединяться с базой и выгребать оттуда данные. Скорость будет падать значительно

тестировал?
...
Рейтинг: 0 / 0
05.12.2005, 10:55
    #33416556
crowler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем занимаемой памяти
Так работало раньше, пока не появилась задача увеличить скорость работы приложения. А теперь вот нужна и скорость и память свободная:(
...
Рейтинг: 0 / 0
05.12.2005, 11:00
    #33416564
EvgeniyV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем занимаемой памяти
А проиндексировать поля, по которым идет поиск?
...
Рейтинг: 0 / 0
05.12.2005, 11:12
    #33416597
crowler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем занимаемой памяти
Есть там такое
...
Рейтинг: 0 / 0
05.12.2005, 11:53
    #33416741
Шайтан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем занимаемой памяти
crowlerТак работало раньше, пока не появилась задача увеличить скорость работы приложения. А теперь вот нужна и скорость и память свободная:(
вы уж определитесь - вам шашечки или ехать?
Шайтан
...
Рейтинг: 0 / 0
05.12.2005, 13:22
    #33417089
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем занимаемой памяти
Как вариант, отказаться от использования DataSet , DataTable в пользу менее ресурсоемких пользовательских классов.

Код: plaintext
 uid  =  S a

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
05.12.2005, 13:42
    #33417157
fupslot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем занимаемой памяти
crowlerКритерий поиска пользователя может выходить за рамки установленных мной условий where тогда прийдется при каждом запросе пользователя соединяться с базой и выгребать оттуда данные. Скорость будет падать значительно

Ничего подобного, скорость падать не будет, главное грамотно написать запрос. Сколько пользователей работают с базой? Если она по структуре не большая, имеет смысл переложить её на другую СУБД, MSDE - бесплатный и сделан на ядре SQL Server 2000.
Посмотри планы выполнения запросов, насколько они оптимизированы?
Используй стандартные .NET компоненты они требуют меньше оперативной памяти.
Не используй, типизированные DataSet, они требовательные к памяти.
Ну и т.д. дальше больше...

PS
И, что значит - "Критерий поиска пользователя может выходить за рамки установленных мной условий where"? Как раз для этого и создаются программы, чтобы они удовлетворяли запросам пользователей.
...
Рейтинг: 0 / 0
06.12.2005, 10:29
    #33418734
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем занимаемой памяти
Думаю, как сказал уже Gray-Serg, если
- выгребать данные по запросу, где критерии - условия сформированные пользователем,
- передавать их на клиента с помощью DataReader,
- отображать (без датасетов/дататэйблов) в листвью,
то должно работать быстро.
...
Рейтинг: 0 / 0
06.12.2005, 10:32
    #33418743
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем занимаемой памяти
Кстати, и WITH (NOLOCK) после имени таблицы в предложении FROM тоже может существенно ускорить выборку...
...
Рейтинг: 0 / 0
07.12.2005, 12:28
    #33421848
crowler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем занимаемой памяти
Большое спасибо всем за помощь. Буду ковырять
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Объем занимаемой памяти / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]