Мне нужно создать очень большой файл xml (до 100k узлов) в PL-SQL. Какой путь быстрее? DBMS_XMLDOM или appendchildxml?что быстрее ... DBMS_XMLDOM vs appendchildxml
ответ
Мы также используем Oracle 11g R2, и мы создаем XML-документ для целей отчетности. Весь процесс, т. Е. извлечения из базы данных, реструктуризация данных и сборка выходной XML-документ, принимал 130 секунд.
Мы предположили, что первая фаза, т.е. извлечение , вероятно, займет большую часть времени, поэтому мы оптимизировали это и сократили общее время на 40 секунд до примерно 90 секунд.
Мы были удивлены тем, что она по-прежнему остается «медленной» - таким образом, мы исследовались реструктуризации и сборочных фазы, и к нашему удивлению, обнаружили, что большая часть времени, принимаемые сборки фазы, с каждый оператор appendchildxml становится медленнее по мере роста документа.
Мы поэтому лишили appendchildxml и полностью заменили его кодом dbms_xmldom.
К счастью, это изменение уменьшило весь процесс до 9 секунд, т.е. на порядок.
Основываясь на этом и других показателях производительности, которые мы видели в базе данных с помощью dbms_xmldom, я бы рекомендовал использовать dbms_xmldom.
- 1. QFile VS ifstream. Что быстрее?
- 2. array_push() vs. $ array [] = .... Что быстрее?
- 3. DBMS vs Filesysytem. Что быстрее?
- 4. pthread vs NSThread: что быстрее
- 5. 'for' vs. 'in' - что быстрее?
- 6. List.BinarySearch vs Dictionary.TryGetValue - что быстрее
- 7. Css Matrix vs Transform. Что быстрее?
- 8. facebook graph api vs fql? что быстрее?
- 9. Виртуальный vs Интерфейс poco, что быстрее?
- 10. 2dsphere vs 2d index: что «лучше»/быстрее?
- 11. Hibernate Criteria vs HQL: что быстрее?
- 12. accdb vs mdb. Что быстрее/лучше?
- 13. Udp broadcast vs unicast: что быстрее?
- 14. count VS select в LINQ - что быстрее?
- 15. numpy vs list assrehension, что быстрее?
- 16. Что происходит быстрее? \ s vs \ s +
- 17. C++ Exp vs. Log: что быстрее?
- 18. что быстрее?
- 19. DBMS_XMLDOM - Как получить идентификатор узла?
- 20. InnerJoin vs Contains, который быстрее
- 21. , который быстрее: bithift vs switch
- 22. Byte [] to Bitmap vs Bitmap to byte []: что быстрее?
- 23. php soap client: wsdl vs. non-wsdl - что быстрее?
- 24. MYSQL уникальный VS php SELECT, а затем вставьте .. Что быстрее?
- 25. Что происходит быстрее? (a + a vs 2 * a и более)
- 26. jQuery: что быстрее в этом случае (.find) vs (.filter)
- 27. QLabel vs QTextEdit, чтобы показать длинный текст. Что быстрее?
- 28. pluck vs different in mongoid db. что быстрее?
- 29. Что быстрее/эффективнее - $ (". Selector"). Height() vs $ (". Selector"). Eq (0) .height()
- 30. Collections.reverse() vs List.reverse(), который быстрее?
Oracle 11g - мы находим, что производительность appendchildxml ухудшается довольно быстро по мере увеличения количества узлов-братьев. Мы значительно улучшили производительность, минимизируя количество вставок. Мы делаем это, собрав каждый узел и все его дочерние элементы в небольшом промежуточном документе, а затем добавив промежуточный документ в основной документ с помощью appendchildxml, вместо того, чтобы делать все в целевом «растущем» документе (мы вскоре посмотрим на DOM попытаться увеличить производительность дальше, если это возможно - я буду обновлять наши результаты, когда мы их получим) – Pancho