FR中涉及加解密字符串时,提升效率的处理
提升查询效率
问题
报表中使用 sql()
函数查询加密字符串,行数增多时严重影响加载速度。
解决方案
将加密串查询逻辑移到数据集中,一次性获取所有数据。
示例
select column1, column2, ..., columnN,
(select A.test('¶1='||columnA||'¶2='||columnB) from dual) as encrypted_string ----其中A.test假设为某设定加密函数,encrypted_string 为加密后字符串
from tableA
效果
- 避免报表逐行调用
sql()
函数 -- sql(“数据库名”,“查询语句”,1,1) - 减少数据库连接次数
- 显著提升大数据量报表加载速度