MYSQL中我的表中有1652487行。我想将与一个字段对应的所有值复制到文件中。为此,我使用jdbc驱动程序在netbeans中编写了一个java程序。我不能一气呵成。有出路吗 ? <您可以选择的行数是否有任何限制>
[编辑]
我的代码:按下按钮时执行的操作:
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
答案 0 :(得分:2)
这没有MySQL限制。我的强烈猜测是你受到了客户端内存的限制。
我之前能够以> 25mil的行导出整个表格而没有问题。
如果您想以最快的方式导出数据,请使用SELECT INTO OUTFILE或给Maatkit一个。