有一个数据库,它在表格中包含大约200万条记录。我从我的java代码运行查询,如“select * from table”。它会从结果集中的数据库中获取完整数据吗?或不 。如果是,那么它将如何工作我想学习这个检索的工作,
请让我知道,我已经在某个地方学到了它将从数据库中检索完整数据并将存储在临时存储器中,它将显示在输出中。没关系。 或者是否有与J2C相关的东西
答案 0 :(得分:1)
这几乎是同一个问题。 How to handle huge result sets from database
你问它是否会获取完整的数据集。它会。因此,建议不要获取整个数据库。以下是关于保存位置java - mysql - select query outfile - where is file getting saved
的内容答案 1 :(得分:0)
是否会从结果集
中的数据库中获取完整数据没有确切的答案。它始终依赖于数据库驱动程序。结果集是一个接口,其实现由特定的数据库驱动程序完成。 ResultSet实现可能有自己的优化,其中对于较小的数据集,所有内容都被提取到较大的数据集,其缓冲(或一些默认的分页机制)。所以请参考数据库驱动程序文档。
有一个标准(至少javadoc这样说)可以防止从数据库中获取大量数据。为JDBC语句设置适当的提取大小,如下所示java.sql.Statement.setFetchSize()
。
作为java doc
给JDBC驱动程序一个关于应该是多少行的提示 需要更多行时从数据库中获取。的数量 指定的行仅影响使用此语句创建的结果集。 如果指定的值为零,则忽略提示。默认 值为零。
希望这会有所帮助。