页面树结构
转至元数据结尾
转至元数据起始

有这样两类需求,可能需要用到临时表。

1)主要的查询数据在Oracle数据库中,而在查询时需要关联的另外一个表却在SQL Server数据库中,Smartbi中查询数据时是没法直接跨库关联的,因此我们需要将SQL Server库中的表抽取到Oracle的一临时表中,便于关联查询。

2)在数据库中有一个超大的上亿条记录的数据表,查询时还需关联多张表,查询效率极低,可能需要几分钟,甚至更长时间。一个可能的解决方案就是,把复杂查询的数据,先定时抽取到一个临时表中,减少数据量,在此基础上再去查询,即可极大地改善查询效率。

上述两种情况,在Smartbi中都可以通过计划任务,将数据集数据先定时抽取到系统内置的高速缓存库中,抽取成功后,系统内置的跨库联合数据源下将自动读取该临时表,则可以基于跨库联合数据源中的表进行跨库查询。

1. 在“资源定制”节点,右键选择 新建查询>原生SQL查询。输入SQL语句后,点击工具栏上的 保存 按钮。

2. 接着点击工具栏上的 数据抽取 按钮,进行相关抽取设置:

上图的各设置项详情请参见 数据抽取 章节。

在抽取设置中单击 设置定时抽取 项,进行计划任务的抽取任务设置:

上图定时任务设置项详情请参见 计划任务 章节。

3. 抽取成功后,在“高速缓存库”节点下可以看到该原生SQL查询的临时表,以及在“跨库联合数据源”下该原生SQL查询的库表信息:

高速缓存库效果跨库联合数据源效果

4. 等所设置的任务“触发时间”过了之后,直接查询跨库联合数据源中的表,确认其中是否已正确插入数据。

 

 

  • 无标签