Страница: 1 | 2 |
Вопрос: как разогнать БД до сверх скорости (статья)
Добавлено: 27.06.08 20:37
Автор вопроса: __Pavel__ | Web-сайт:
Ответы
Всего ответов: 18
Номер ответа: 16
Автор ответа:
BG(Алексей)
Вопросов: 26
Ответов: 295
Профиль | | #16
Добавлено: 02.07.08 05:14
To Steel Brand
К примеру, ты из какой нибудь таблицы выбираешь данные и оказывается, что они весят больше, чем вся твоя память. Что произойдет?
Номер ответа: 17
Автор ответа:
BG(Алексей)
Вопросов: 26
Ответов: 295
Профиль | | #17
Добавлено: 02.07.08 05:15
И как с этим бороться?
Номер ответа: 18
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #18
Добавлено: 03.07.08 16:43
Ну старые данные скорее всего начнут сгружаться в файл подкачки чтоб было место для новых данных.
Бороться можно, что первое приходит в голову:
1. Установить еще несколько планок памяти
2. Не запрашивать большие объемы данных. Я например не могу придумать сценарий, зачем в веб-приложении при работе сценария запрашивать много данных.
3. Не держать данные в памяти. Например обрабатывать их сразу же при получении из DataReader, и только после обработки одной строчки переходить к другой. Но это разумеется имеет и свои недостатки.
Например SSIS без проблем "перемалывает" многогигабайтные объемы данных, и делает это очень хитро - он обрабатывает данные небольшими порциями, которые без проблем вмещаются в оперативной памяти.
При его работе хорошо видно, например - первая порция данных уже обработана и сохранена, в третья еще и не запрашивалась из базы данных, ждет своей очереди.
Но в принципе я предпочту запросить меньше данных из СУБД, чем думать о том как разобраться с большим объемом данных