页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

1 概述

在数据处理与分析场景中,当数据量庞大时,查询效率成为关键问题。

当用户在数据源库中设置了分区,也想在Smartbi 查询报表时,能直接命中分区,使查询语句能快速定位到所需数据,从而大幅提升查询性能。
所以推出了新功能,该功能允许用户在数据连接和数据模型中配置分区字段相关信息,确保查询时能精准命中分区,减少数据库压力,提升系统整体运行效率。

2 适合场景

  • 事实表数据量大且有分区字段,并且分区字段是是日期。
  • 许多业务场景中,常以时间维度进行数据过滤查询,如查询特定月份或年份的数据。当事实表以日期相关字段(如 “年月”“年月日” 等)作为分区字段时,通过设置分区,关联的日期维表字段作为过滤条件(如年、年月、年季、年月日等),能命中分区,加快查询速度。

3 场景限制

  • 分区字段仅支持整型、字符串、日期类型。其他数据类型的字段无法设为分区字段。
  • 过滤操作符限制:部分过滤操作符在特定场景下不支持命中分区。以 “年月” 分区字段为例,“不等于”“not in” 等操作符,在开发实际中无法做到命中分区;“like” 操作符对字符串日期字段作过滤条件时也不支持命中分区 。详情可查看:


3 具体示例

3.1 分区字段字符串:在事实表上设置了分区字段,可直接使用分区字段作为过滤条件,能直接命中

...

6、通过在数据库执行取数逻辑,可以看到也能命中分区:


3.5  分区字段整形

逻辑与3.1、3.2章节一致。


4 报表层哪些操作符能命中分区


查询中指定的过滤字段

操作符


年(例:2024)

年月日(例:2024-09-29)

年月(例:2024-09)

年季(列:2024Q1)

=、in

支持

>
>=

<

<=

!=、not in

不支持