1

我有一个包含许多表和数据的数据库。为了导入数据库,查询

LOAD DATA INFILE <file_name> INTO TABLE <table_name>;

为每个表使用。数据库是通过临时表导入的,由于数据库包含大量数据,需要很长时间。当数据增加时,导入需要无限时延。我该如何解决这个问题?

public void updateDeviceTables(Connection server) throws SQLException
{

    final Connection DestConn = server;
    try 
    {

        PreparedStatement psInsert;
        final PreparedStatement psTrapDest = DestConn
            .prepareStatement("select * from  TEMP_TABLE_NAME where PRIMARY_KEYID=? ");
            psTrapDest.setInt(1, OldID);
            final ResultSet rsTrapDest = psTrapDest.executeQuery();

            while (rsTrapDest.next()) {
                psInsert = DestConn.prepareStatement(SQLQueries.INSERT_TABLE_DETAILS);

                psInsert.setInt(1, NewID);
                psInsert.setObject(2, rsTrapDest.getObject("Column2"));
                psInsert.setObject(3, rsTrapDest.getObject("Column3"));

                psInsert.executeUpdate();
                psInsert.close();
                psInsert = null;
            }
            rsTrapDest.close();
     }
     catch (final Exception e) 
     {

     }

}   

这是我在将数据导入临时表后用于更新表的示例代码。对数据库中的所有表(17 个表)重复相同的过程。调试卡在 executeUpdate()中。

4

0 回答 0