java结果集和聚合
好吧,我承认我的处境很特殊
有一个支持SQL-92和JDBC接口的数据系统
然而,SQL请求非常昂贵,在我的应用程序中,我需要多次检索相同的数据,并在不同字段上聚合它(“group by”),以显示相同数据的不同维度
例如,在一个屏幕上,我有三个表,显示相同的集合或记录,但按城市(第一个网格)、人口(第二个网格)、婴儿数量(第三个网格)聚合
这相当于3个SQL查询(速度非常慢),除非你们中的任何人都能从apache commons或google代码中提出任何想法,这样我就可以将所有记录选择到ResultSet中,并从这个单一ResultSet中通过不同字段获得3个数据组数组
我是否错过了这个问题的一些显而易见的、意想不到的解决方案
# 1 楼答案
如果数据库支持物化视图和索引视图,则可以通过预聚合视图中的值并使用索引快速检索值来获得显著的性能
基本上,您可以创建一个包含所需聚合的物化视图,然后对其进行索引。您可以加入它,也可以直接查询它
根据您的数据
City (1st grid), by Population (2nd grid), by number of babies (3rd grid)
,我认为开销不会对插入/更新/删除造成太大的影响