一、数据模型

同一个模型中关联的表越多,生成的查询SQL越复杂,执行速度慢,导致报告性能差,建议单个模型中关联的表不超过5个

有数平台 - 图1

二、报告制作

1. 单个报告页面筛选器和图表数过多

单个报告页的组件数越多,组件加载时间也就越长,建议单个报告页面筛选器和图表总数不超过100个。过多的图表可通过添加多个报告页进行展示,不同页面展示不同数据也更助于分析思路的沉淀哦~

有数平台 - 图2

2. 报告中存在未使用的模型,也会影响报告页面的加载,建议将无用的模型删除(有数的诊断功能支持一键删除哦)~

三、其他小技巧

转换字段类型为日期/日期时间类型时,可选择用原始类型进行比较

将“字符串”类型的字段转换为“日期、日期时间”类型时,使用原始类型(即字符串类型)进行比较则不需要在SQL中进行字段类型转换,可提高查询性能。

例如:有「销售日期」字段,该字段的原始类型为:字符串,在模型/报告中将该字段转换为:日期。假如对「销售日期」字段进行筛选,筛选「销售日期」在2021年11月11日之后的数据,则SQL为:

TO_DATE(CAST('t1'.'销售日期' AS TIMESTAMP))>=CAST('2021-11-11' AS TIMESTAMP)

若「销售日期」字段仍然为“字符串”类型,这个时候筛选「销售日期」在2021年11月11日之后的数据,则SQL为:

't1'.'销售日期' >='2021-11-11'

可见,使用原始类型(即字符串类型)进行筛选时,SQL语法简单很多,查询性能也因此有所提升。因此设置日期筛选时,建议选择用原始类型进行比较。具体步骤如下:

1. 转换数据类型:

有数平台 - 图3

2. 筛选优化设置的弹窗中选择“以原始类型进行筛选比较”:

有数平台 - 图4

筛选器相关的更多优化可见:筛选器优化