对于报表工具而言,运算速度在很大程度上影响着报表开发效率,而润乾报表的一大优势就是其在运算速度上的过人表现。
对报表有些认识的人都知道,决定运算速度的关键是数据源运算。除了极特殊的情况外,一般情况下都是源数据量远远大于报表中显示出来的数据量,源数据可能有几百万、几千万条,显示出来的可能是几十条、一两百条。
传统工具的数据源运算一般交由数据库完成,通过复杂的SQL或者存储过程进行。润乾报表也完全支持这种模式,因此润乾报表的总体运算性能至少可以做到与其它传统工具基本相当。
但是,数据源运算交由数据库完成有一定的缺陷。首先,这样就要求数据源有运算能力,几乎必须是数据库,比如我们不能让两个文件进行叉乘连接;其次,各种数据库的运算函数和语句规则相差很大,很难做到报表在异构数据库之间移植。
除利用数据库运算外,润乾报表还支持自行进行数据源运算,在多源报表(中国报表中最常见的多源情况)且数据量较大时性能会明显优于数据库运算。
传统工具的数据源运算处理这种报表都是采用多数据表JOIN的方案,其运算速度度严重依赖于SQL书写的优化程度与数据库的智能水平,连接条件复杂时其计算复杂度将是O(Nk),其中k是涉及到的数据表数,国内报表中这个k值常常大于5。而润乾报表的运算则是将数据集取出后,一般只是多个两表连接,最多是三表连接(交叉表),其计算复杂度为O(N2)或O(N3)。当数据量大和表多时,运算速度将有明显的优势。