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