
# 配置参数
| 参数                                                  | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 参数默认值   |
|:---|:---|:---|
| spark.sql.materialized.views.location               | 用于指定普通物化视图的存储位置，对于智能物化视图不生效。 如果没有指定这个参数，Spark会使用默认的存储位置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | -       |
| spark.sql.materialized.views.rewrite.enabled        | 控制是否启用物化视图查询重写功能。 查询重写是指在执行查询时，Spark会尝试将查询重写为使用物化视图，以提高查询性能。 - true：启用物化视图的查询重写功能。  - false：不会尝试将查询重写为使用物化视图。                | false   |
| spark.sql.materialized.views.calcite.timeoutSeconds | 用于控制在查询重写过程中Calcite规划器的最大超时时间，以秒为单位。 如果在指定的时间内Calcite规划器没有完成查询重写，Spark会放弃使用物化视图并按原样执行查询。                                                                                                                                                                                                                                                                                                                                                                                                                                                                | 10      |
| spark.sql.cte.mv.enabled                            | 符合条件的CTE定义将在查询执行后异步物化。后续如果出现结构完全相同的 CTE 主体查询，将直接通过简单扫描物化视图（MV）来代替重新计算。（当前不支持Session级打开/开关，后续会支持Session级开关） - true：启用CTE物化。  - false：不启用CTE物化。                                                             | false   |
| spark.sql.cte.mv.viewPrefix                         | 由CTE物化功能创建的临时视图名称的前缀。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | cte     |
| spark.sql.cte.mv.database                           | 存储CTE物化视图的数据库名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | default |
| spark.sql.materialized.views.cte.hash.match         | 用于控制物化视图查询重写时，是否启用hash匹配模式。 hash匹配模式能够更快地命中物化视图，但缺点是被重写的sql必须与物化视图逻辑执行计划完全一致，否则无法命中。 - true：启用hash匹配模式。  - false：不启用hash匹配模式。   | false   |
   
