java从数据库中获取数据作为块以节省内存
我的问题与JDBC查询有关,在JDBC查询中,表中的记录数量很大。最终目标是以流式方式从数据库中获取数据,通过流式方式逐块获取数据
这可以通过使用关键字(如LIMIT、OFFSET)创建多个SQL语句来实现。但在这种情况下,将有多个DB调用,这将花费更多的时间。 有没有一种方法可以让您不将整个结果集加载到内存中&;不需要额外的数据库调用就可以获取数据块
谢谢
你可以在下面搜索框中键入要查询的问题!
我的问题与JDBC查询有关,在JDBC查询中,表中的记录数量很大。最终目标是以流式方式从数据库中获取数据,通过流式方式逐块获取数据
这可以通过使用关键字(如LIMIT、OFFSET)创建多个SQL语句来实现。但在这种情况下,将有多个DB调用,这将花费更多的时间。 有没有一种方法可以让您不将整个结果集加载到内存中&;不需要额外的数据库调用就可以获取数据块
谢谢
# 1 楼答案
首先,如果您从数据库中获取数据块,那么您将执行多个数据库调用。您将不会执行那么多查询
第二,是的,这是可能的。有一个DB概念称为“游标”
注意,数据库在执行查询时将获取所有行,结果集将占用DB内存,直到您关闭光标。请记住,数据库是一个共享资源