ResultSet和聚合

时间:2010-04-01 13:49:50

标签: java sql jdbc

好的,我承认我的情况很特别

有一个支持SQL-92和JDBC接口的数据系统

然而,SQL requets非常昂贵,在我的应用程序中,我需要多次检索相同的数据并在不同的字段上聚合(“分组依据”)以显示相同数据的不同维度。

例如,在一个屏幕上,我有三个表显示相同的一组或多个表,但由城市(第一个网格),按人口(第二个网格),按婴儿数量(第三个网格)聚合

这相当于3个SQL查询(这是非常慢的),除非你们中的任何人可以从apache commons或google代码建议任何库,所以我可以选择所有记录到ResultSet中并获得3个数据组数组来自此单个ResultSet的不同字段。

我是否错过了一些明显且意外的解决方案?

1 个答案:

答案 0 :(得分:1)

如果您的数据库支持实体化视图和索引视图,则可以通过预先聚合视图中的值并使用索引非常快速地检索值来获得显着性能。

您基本上创建一个包含所需聚合的物化视图,然后将其编入索引。您可以加入它或直接查询它。

根据您的数据City (1st grid), by Population (2nd grid), by number of babies (3rd grid),我认为开销不会对INSERTS / UPDATES / DELETES造成太大影响。