У меня есть 12-мегабайтный XML-файл, к которому я обращаюсь из xquery. Файл загружается примерно так:
let $t := doc('file:///C:/foo/bar/file12mb.xml')
Выполнение кода занимает около 950 мс.
Как можно быстрее загрузить документ XML?
После загрузки и анализа xml-файла тело xquery запускается всего за несколько миллисекунд, поэтому я пытаюсь ускорить первоначальную загрузку и синтаксический анализ xml-файла, который занимает большую часть времени выполнения.
Есть ли у Саксона возможность сохранить документ XML после его анализа?
В идеале я хотел бы как-то сохранить файл данных xml, но Saxon, похоже, предназначен исключительно как процессор xml, а не база данных xml.
Поможет ли схема?
В настоящее время XML-файл не имеет связанной схемы. Документация Saxon подразумевает, что наличие схемы ускоряет выполнение запроса, но замедляет первоначальную загрузку и синтаксический анализ данных xml, поэтому я не пытался создать схему.
Любые предложения с благодарностью получены.
Версия
java version "1.6.0_26"
Saxon-B version 9.1.0.8