背景信息 #
联邦查询适用于水平分片场景下,对跨数据节点 JOIN(绑定表不带分片键 JOIN、非绑定表的JOIN、单表和分片表 JOIN、单表和单表跨数据源 JOIN 等)、子查询(无法路由到单节点的子查询)、聚合查询(包含 Having、聚合查询部分函数包含 DISTINCT、表达式中嵌套聚合函数)、集合运算等场景进行支持。
参数解释 #
sqlFederation:
sqlFederationEnabled: # 是否开启联邦查询
allQueryUseSQLFederation: # 是否全部查询 SQL 使用联邦查询
executionPlanCache: # 执行计划缓存
initialCapacity: 2000 # 执行计划缓存初始容量
maximumSize: 65535 # 执行计划缓存最大容量
ttlMilliseconds: 86400000 # 执行计划缓存失效时间
maxUsageMemoryPerQuery: 1M # 每个查询最大可用的内存
spillEnabled: true # 是否启用磁盘交换功能
spillPath: file:///tmp/dbplusengine/spill # 磁盘交换文件路径
spillCompressionEnabled: true # 是否启用压缩以减少磁盘占用,压缩会占用更多 CPU 资源
配置示例 #
sqlFederation:
sqlFederationEnabled: true
allQueryUseSQLFederation: false
executionPlanCache:
initialCapacity: 2000
maximumSize: 65535
ttlMilliseconds: 86400000
maxUsageMemoryPerQuery: 1M
spillEnabled: true
spillPath: file:///tmp/dbplusengine/spill
spillCompressionEnabled: true