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 | 元数据标识符大小写敏感策略。可选值为 DATABASE 和 INSENSITIVE。DATABASE 表示使用数据库特定的标识符规则。 |
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
