|
|
|
Объем занимаемой памяти
|
|||
|---|---|---|---|
|
#18+
Уважаемые господа, есть такая проблема. База данных Access 2000, данные из одной ее таблицы (примерно 100000 записей) загружаю в datatable, потом с этими данными работает пользователь (поиск информации).При этом объем занимаемой памяти очень высок (около 150 мб), однако скорость поиска хороша на мощном компьютере, на слабеньком с маленьким объемом ОЗУ - полный тормоз. Подскажите пожалуйста каким образом можно найти компромисс. Может быть кто-нибудь сталкивался с подобной проблемой. Заранее благодарен за любые идеи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 10:28 |
|
||
|
Объем занимаемой памяти
|
|||
|---|---|---|---|
|
#18+
Выгружать не все записи, использовать SELECT ... FROM ... WHERE... Все равно пользователь не может просматривать все 100000 записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 10:32 |
|
||
|
Объем занимаемой памяти
|
|||
|---|---|---|---|
|
#18+
Критерий поиска пользователя может выходить за рамки установленных мной условий where тогда прийдется при каждом запросе пользователя соединяться с базой и выгребать оттуда данные. Скорость будет падать значительно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 10:45 |
|
||
|
Объем занимаемой памяти
|
|||
|---|---|---|---|
|
#18+
crowlerКритерий поиска пользователя может выходить за рамки установленных мной условий where тогда прийдется при каждом запросе пользователя соединяться с базой и выгребать оттуда данные. Скорость будет падать значительно тестировал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 10:53 |
|
||
|
Объем занимаемой памяти
|
|||
|---|---|---|---|
|
#18+
Так работало раньше, пока не появилась задача увеличить скорость работы приложения. А теперь вот нужна и скорость и память свободная:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 10:55 |
|
||
|
Объем занимаемой памяти
|
|||
|---|---|---|---|
|
#18+
А проиндексировать поля, по которым идет поиск? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 11:00 |
|
||
|
Объем занимаемой памяти
|
|||
|---|---|---|---|
|
#18+
Есть там такое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 11:12 |
|
||
|
Объем занимаемой памяти
|
|||
|---|---|---|---|
|
#18+
crowlerТак работало раньше, пока не появилась задача увеличить скорость работы приложения. А теперь вот нужна и скорость и память свободная:( вы уж определитесь - вам шашечки или ехать? Шайтан ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 11:53 |
|
||
|
Объем занимаемой памяти
|
|||
|---|---|---|---|
|
#18+
Как вариант, отказаться от использования DataSet , DataTable в пользу менее ресурсоемких пользовательских классов. Код: plaintext Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 13:22 |
|
||
|
Объем занимаемой памяти
|
|||
|---|---|---|---|
|
#18+
crowlerКритерий поиска пользователя может выходить за рамки установленных мной условий where тогда прийдется при каждом запросе пользователя соединяться с базой и выгребать оттуда данные. Скорость будет падать значительно Ничего подобного, скорость падать не будет, главное грамотно написать запрос. Сколько пользователей работают с базой? Если она по структуре не большая, имеет смысл переложить её на другую СУБД, MSDE - бесплатный и сделан на ядре SQL Server 2000. Посмотри планы выполнения запросов, насколько они оптимизированы? Используй стандартные .NET компоненты они требуют меньше оперативной памяти. Не используй, типизированные DataSet, они требовательные к памяти. Ну и т.д. дальше больше... PS И, что значит - "Критерий поиска пользователя может выходить за рамки установленных мной условий where"? Как раз для этого и создаются программы, чтобы они удовлетворяли запросам пользователей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 13:42 |
|
||
|
Объем занимаемой памяти
|
|||
|---|---|---|---|
|
#18+
Думаю, как сказал уже Gray-Serg, если - выгребать данные по запросу, где критерии - условия сформированные пользователем, - передавать их на клиента с помощью DataReader, - отображать (без датасетов/дататэйблов) в листвью, то должно работать быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 10:29 |
|
||
|
Объем занимаемой памяти
|
|||
|---|---|---|---|
|
#18+
Кстати, и WITH (NOLOCK) после имени таблицы в предложении FROM тоже может существенно ускорить выборку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 10:32 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=33416564&tid=1353541]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
131ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 190ms |
| total: | 395ms |

| 0 / 0 |
