XML解析:将XML数据插入数据库:性能

时间:2011-12-15 19:14:50

标签: xml performance parsing

您是否了解将XML解析为数据库的最佳方法。

“最快的方式”。

读取XML,进行一些检查,然后将结果插入数据库。

感谢。

2 个答案:

答案 0 :(得分:0)

主要问题是

您是希望以编程方式还是使用已经创建的应用程序来完成它?

<强>编程方式

这取决于XML的编写方式。如果标记/属性名称与数据库表/列匹配,那么您可以用非常简单的方式编写它,否则,您需要首先映射xml标记/属性名称以匹配数据库结构。

要获得正确答案,我需要知道您将要编写的当前语言。

<强>应用

一个例子: http://www.altova.com/databasespy/database-import-export.html

答案 1 :(得分:0)

需要考虑两件事:

  1. 确保使用流API(例如SAX或StAX)解析XML,而不是使用DOM API。
  2. 使用预备文件并批量批量插入,例如1000个插页。
  3. 在Java中,您可以使用StaxMate,它会在StAX之上提供一个小层。然后在内循环中进行检查和插入:

    在循环之外准备数据库插入语句,如:

        Connection conn = ...
        PreparedStatement ps = conn.prepareStatement("INSERT INTO ... (...) VALUES (?, ?,...)");
        static int i=0;
    

    在内循环中:

    ps.setInt(1, a); 
    ps.setString(2, b);
    ...
    ps.addBatch();
    if(++i % 1000==0) ps.executeBatch()