功能背景
透视分析有时候直接在源库中执行汇总语句,性能会很慢,且会影响原有业务系统的使用。通过抽取数据功能把数据抽取到目标库有可能会提高刷新报表的速度。
功能入口
在透视分析工具栏上,点击 设置 按钮,在弹出的"报表设置"对话框中,在表属性页签中勾选"抽取数据",则数据抽选方式会变为可用状态,并指定为"自动匹配"模式。如下图:
抽取方式
点击数据抽取方式下拉框,则可以看到如下几种抽取方式,如下图。一般我们默认选择"自动匹配"方式。
- 自动匹配:当检测到目标数据库是Infobright,自动使用"适用Infobright数据库的CSV批量加载";当检测到源库与目标库是同一个数据库,使用"适用源库与目标库相同的SQL批量插入";其它情况用"适用大多数数据库的逐行插入"
- 适用Infobright数据库的CSV批量加载:当目标数据库是默认的Infobright数据库时,遍历源库中的数据,生成CSV文件并使用Infobright的Load Data from file语句批量抽取数据
- 适用源库与目标库相同的SQL批量插入:当源库和目标库是同一个数据库(例如源库和目标库都是指向同一个oracle数据库的不同schema,这个时候,可以使用insert into schemaA.tableA select * from schemaB.tableB这样的语句抽取数据
- 适用大多数数据库的逐行插入:大多数的数据库都支持insert into tableA(columnA,columnB...) values (?,?...)这样的SQL语句完成数据插入。此种方式效率最低。
功能应用
当我们选择某种抽取方式后,点击确定按钮,则报表立即进行数据抽取,把数据存储到自动生成的临时表中。抽取完成后,我们此刻再对此透视分析进行刷新等操作时,则数据会从临时表中读取,从而达到提高性能的目的。