C# 批量插入Mysql zt

public void loadData(Connection connection)
{
    long starTime = System.currentTimeMillis();
 
    String sqlString = "load data local infile ? into table test";
    PreparedStatement pstmt;
    try {
        pstmt = connection.prepareStatement(sqlString);
         
        pstmt.setString(1, "tfacts_result");
         
        pstmt.executeUpdate();
         
        pstmt.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
     
    long endTime = System.currentTimeMillis();
     
    System.out.println("program runs " + (endTime - starTime) + "ms");
 
}
 
 
public static void mysql_batch(string sqlStr,int point)
        {
            string sql = "insert into test(node1, node2, weight) values(?, ?, ?)";

            Connection conn = getConn("mysql");
            conn.setAutoCommit(false);
            //clear(conn);
            try
            {
                PreparedStatement prest = conn.prepareStatement(sql);
                //long a = System.currentTimeMillis();
                for (int x = 1; x <= count; x++)
                {
                    prest.setInt(1, x);
                    prest.setString(2, "张三");
                    prest.addBatch();
                    if (x % point == 0)
                    {
                        prest.executeBatch();
                        conn.commit(); 
                    }
                }
                prest.close();
                //long b = System.currentTimeMillis();
                //print("MySql批量插入10万条记录", a, b, point);
            }
            catch (Exception ex)
            {
                ex.printStackTrace();
            }
            finally
            {
                close(conn);
            }

 

posted on 2013-05-06 11:27  武胜-阿伟  阅读(2203)  评论(1编辑  收藏  举报