Logo
联邦查询

背景信息 #

联邦查询适用于水平分片场景下,对跨数据节点 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

相关参考 #