parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

К вопросу о производительности MySQL+XML + парсер

sergei v.2 18.01.2006 22:30

Сейчас говорят поямится версия MySQL 5.1.5 (http://dev.mysql.com/tech-resources/articles/mysql-5.1-xml.html)
с функциями работы с XML, хранимым в БД.
Так вот вопрос - стоит ли хранить XML-описание объектов в БД и осуществлять поиск по ним типа
where xml_data like '%<mytag>$x</mytag>%'

Понятно что по индыксированным полям будет искаться на порядок быстрее. Но я тут поставил сейчас эксперимент:
вогнал в таблицу 100.000 записей с XML приличных размеров (объём таблицы составил 225 метров).

Запрос вида where xml_data like '%<mytag>$x</mytag>%'
выполняется 0,77 сек.! Запрос по индыксированному полю id выполняется 0,02 сек.

Вопрос: 0,77 сек. на 100.000 записей (225 мегабайт текста XML) - это много?

Или пытаться хранить инфу по другому - не в XML виде?
Просто решаемая задача - это хранение библиотечного каталога.
Есть общепринятые форматы хранения подобной информации типа MODS или XMLMARC. Поэтому формат хранения должен быть хоть как-то (а желательно полностью)совместим с этими стандартами. Наиболее просто в реализации - это использовать XML. Но насколько это эффективно?