复古 护眼 海天 深邃 暗黑 默认

背景信息

Apache ShardingSphere 提供属性配置来设置系统级行为。

参数解释

名称 数据类型 说明 默认值
sql-show (?) boolean 是否在日志中打印 SQL。SQL 日志内容包含:逻辑 SQL、真实 SQL 和 SQL 解析结果。如果开启配置,日志将使用 Topic org.apache.shardingsphere.sql,日志级别为 INFO。 false
sql-simple (?) boolean 是否在日志中打印简单风格的 SQL。 false
kernel-executor-size (?) int SQL 执行工作线程池大小。每个 ShardingSphereDataSource 使用独立线程池,同一个 JVM 的不同数据源不共享线程池。0 表示不限制。 0
max-connections-size-per-query (?) int 一次查询请求在每个数据库实例中所能使用的最大连接数。 1
max-union-size-per-datasource (?) int 每个数据源允许合并的最大 UNION ALL 数量。当路由到同一数据源的路由单元数量超过此值时,将分批合并以恢复并行执行能力。 Integer.MAX_VALUE
check-table-metadata-enabled (?) boolean 应用启动或元数据更新时,是否校验表元数据一致性。 false
load-table-metadata-batch-size (?) int 应用启动或刷新表元数据时,单个批次加载表元数据的数量。 1000
agent-plugins-enabled (?) boolean 是否启用 Agent 插件。 true
metadata-identifier-case-sensitivity (?) String 元数据标识符大小写敏感策略。可选值为 DATABASEINSENSITIVEDATABASE 表示使用数据库特定的标识符规则。 DATABASE
groovy-inline-expression-parsing-cache-max-size (?) long Groovy 行表达式解析缓存的最大容量。 1000

操作步骤

属性配置直接配置在 ShardingSphere-JDBC 所使用的配置文件中,格式如下:

props:
    sql-show: true

注意事项

max-connections-size-per-query 配置项的默认值为 1,这意味着每次查询请求在每个数据库实例中只能使用一个连接。如果您调整此参数以启用内存限制模式(详情参见 内存限制模式),请确保您使用的数据库 JDBC 实现支持流式查询或能够启用流式查询。例如,在 MySQL 中,需要设置 statement.setFetchSize(Integer.MIN_VALUE) 才能实现流式查询。

配置示例

ShardingSphere 仓库的示例中包含了多种不同场景的属性配置,请参考:https://github.com/apache/shardingsphere/blob/master/examples