1 概述

1.1 背景

SmartBI使用了SQL引擎来处理和执行SQL查询。SQL(Structured Query Language)是一种标准的数据库查询语言,用于在关系型数据库中进行数据操作和查询。

SmartBI的SQL引擎具有以下功能和特点:

  1. 查询优化:SQL引擎能够分析查询语句,并尽可能地优化执行计划,以提高查询效率和性能。它会考虑索引、统计信息、表大小等因素,选择最佳的查询路径和执行顺序。

  2. 数据连接:SQL引擎支持连接多个数据表或数据源,可以进行联合查询、子查询等复杂查询操作。用户可以通过SQL语句来指定数据连接方式和条件,实现数据的关联和合并。

  3. 数据过滤和排序:SQL引擎允许用户在查询中使用WHERE子句来进行数据过滤,以获取符合特定条件的数据。同时,还可以使用ORDER BY子句对结果进行排序,以便按照特定字段进行升序或降序排列。

  4. 聚合计算:SQL引擎支持常见的聚合函数,如SUM、COUNT、AVG等,可以对数据进行汇总和统计计算。用户可以利用这些聚合函数来计算某个维度下的总和、平均值、最大值、最小值等指标。

  5. 存储过程和触发器:SQL引擎提供了存储过程和触发器的支持,允许用户定义和执行一系列的SQL操作。存储过程可以封装一组SQL语句,并通过调用来实现复杂的业务逻辑;而触发器可以在数据表上定义特定的事件和操作,以触发相关的SQL语句执行。

SmartBI的SQL引擎是在底层进行数据操作和查询的核心组件。它能够解释、执行和优化复杂的SQL查询,帮助用户从多个数据源中获取所需的数据,并支持各种数据分析和报表生成需求。

另外产品还支持多维引擎,详情可查看:多维引擎介绍

1.2 SQL引擎适合的查数场景

1.3 满足什么样的条件才会走SQL引擎

  • 仪表盘的 明细表 组件是直接走SQL引擎的、交叉表组件不支持走SQL引擎。
  • 基于模型查询 的web电子表格、电子表格如果勾选了计算度量、计算成员、计算命名集,暂不支持走SQL引擎。
  • 开启SQL引擎是系统级别的,一旦开启,基于数据模型的所有报表满足条件都会走SQL引擎。

2 具体操作

2.1 怎么开启双引擎

在 系统选项 > 高级设置把DATAMODEL_QUERY_OPEN_SQL_ENGINE 设置成true意为开启。如下图:


2.2 怎么判断报表是否走了双引擎?

基于数据模型做的仪表盘、电子表格、即席查询、web电子表格,如果在开启双引擎以及满足条件下,会自动走SQL引擎进行取数。 那怎么判断是否走了双引擎呢?

1)看耗时分析

2)看系统监控


2.3  如何快速关闭双引擎?