Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Про здоровые xml базы!!!

5.7K
13 марта 2006 года
qqq_first
39 / / 05.12.2005
Подгружаю базу xml 100 Мб через DOM. Дак она в оперативке до 500 Мб жрет. Это так и должно быть??? Али какие другие методы есть по работе с большими XML базами????
10
13 марта 2006 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by qqq_first
Подгружаю базу xml 100 Мб через DOM. Дак она в оперативке до 500 Мб жрет. Это так и должно быть??? Али какие другие методы есть по работе с большими XML базами????


Да, так и должно быть. XML изначально не предназначался для хранения больших объемов данных, только описателей или локальных курсоров. Это мода такая - пихать в XML что ни попадя. Но математика не подчиняется моде.

DOM-реализация от Майкрософт хороша при кусочной работе с XML, но опять-таки, не позволяет работать с большими объемами данных (уже в XML-понимании).

Если надо разобрать большой объем данных из унаследованной системе, лучше воспользоваться событийным парсером, вроде SAX, а данные держать в собственных структурах или вставлять в БД и потом работать с курсором.

Если же задача построена на работе с собственными XML таких объемов - лучше перепроектируйте ее. Скорость возрастет в десятки раз, во столько же уменьшится объем занимаемой памяти.

5.7K
14 марта 2006 года
qqq_first
39 / / 05.12.2005
Цитата:
Originally posted by Freeman
Да, так и должно быть. XML изначально не предназначался для хранения больших объемов данных, только описателей или локальных курсоров. Это мода такая - пихать в XML что ни попадя. Но математика не подчиняется моде.

DOM-реализация от Майкрософт хороша при кусочной работе с XML, но опять-таки, не позволяет работать с большими объемами данных (уже в XML-понимании).

Если надо разобрать большой объем данных из унаследованной системе, лучше воспользоваться событийным парсером, вроде SAX, а данные держать в собственных структурах или вставлять в БД и потом работать с курсором.

Если же задача построена на работе с собственными XML таких объемов - лучше перепроектируйте ее. Скорость возрастет в десятки раз, во столько же уменьшится объем занимаемой памяти.



А статьи какие-н. про SAX есть, а то чего-то толкового мануала в инете не могу найти. (Желательно с примерами)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог