为什么teradata fastload如此之慢?

时间:2014-03-06 19:48:36

标签: java teradata

我尝试上传3MB非常小的csv文件,包含30,000行和4列。我花了一个多小时

cUrl = "jdbc:odbc:DSN; TYPE=FASTLOAD" ;
Connection conn = DriverManager.getConnection(cUrl, username, password);
String sql = "insert into Transactions(custID, transaction_date, amount, desc) values(?,?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);

    for ( ... ) 
    {
        ps.setString(1, custID);
        ps.setString(2, tran_date);
        ps.setString(3, amount);
        ps.setString(4, desc);
        ps.addBatch(); 
    }


    ps.executeBatch(); 

addBatch运行非常顺利。我到达ps.executeBatch();线它永远占用它。上传一个包含30,000行的3 MB csv文件花了一个多小时。它是应该的方式

1 个答案:

答案 0 :(得分:2)

加载30.000行应该在几秒钟内运行。

你仍然使用错误的连接字符串,在ODBC中不支持FastLoad协议,TYPE = FASTLOAD可能会被默默忽略。

交易表的主要索引是什么?错误的PI加上SET表可能会导致加载缓慢。