2010-02-09 87 views
0

在我的MYSQL表中有1652487行。我想將所有對應於一個字段的值複製到一個文件中。我在NetBeans中使用jdbc驅動程序編寫了一個java程序。我無法一口氣做到這一點。有出路嗎 ? <是否有行數的限制可以選擇>在MySQL中可以選擇的行數是否有限制?

[編輯]

我的代碼:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {           
     // TODO add your handling code here: 
     try 
     { 
     File fo=new File("D:\\dmoz_externalpages.txt"); 
     FileWriter fro=new FileWriter(fo); 
     BufferedWriter bro=new BufferedWriter(fro); 
     Connection con=null; 
     Class.forName("com.mysql.jdbc.Driver").newInstance(); 
     con=DriverManager.getConnection("jdbc:mysql://localhost:3306/dmozphp","root",""); 
     PreparedStatement ps=con.prepareStatement("select externalpage from content_description"); 
     ResultSet rs=ps.executeQuery(); 
     while(rs.next()) 
     {   
      bro.write(rs.getString(1)); 
      bro.newLine(); 
      bro.flush(); 
     } 
     } 
     catch(Exception e) 
     { 
      System.out.println(e); 
     } 

    }  

當我運行它,我得到:當按鈕被按下的動作進行以下例外:

Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space 
+1

你的代碼是什麼樣的,是什麼問題? – 2010-02-09 08:16:01

回答

2

對此沒有MySQL限制。我強烈的猜測是你受到客戶端記憶的限制。

我已經能夠導出整個表> 25毫米行沒有問題之前。

如果要以最快的方式導出數據,請使用SELECT INTO OUTFILE或給Maatkit

+0

我發現我可以做到這一點,當我只是執行該命令<但它顯示在82625頁,每個約20行>,這意味着手動複製這些數據到一個文件將是耗時的..所以,我寫了一個程序自動寫入文件。當我執行它,我得到了我上面提到的異常<在我的編輯> – trinity 2010-02-09 08:30:04

+0

謝謝,我得到了我所需要的(SELECT INTO OUTFILE選項) – trinity 2010-02-09 08:37:21

相關問題