属性配置 #
DBPlusEngine 提供属性配置的方式配置系统级配置。
配置项说明 #
| 名称 | 数据类型 | 说明 | 默认值 |
|---|---|---|---|
| sql-show (?) | boolean | 是否在日志中打印 SQL 打印 SQL 可以帮助开发者快速定位系统问题。日志内容包含:逻辑 SQL,真实 SQL 和 SQL 解析结果。 如果开启配置,日志将使用 Topic ShardingSphere-SQL,日志级别是 INFO | false |
| sql-simple (?) | boolean | 是否在日志中打印简单风格的 SQL | false |
| kernel-executor-size (?) | int | 用于设置任务处理线程池的大小 每个 ShardingSphereDataSource 使用一个独立的线程池,同一个 JVM 的不同数据源不共享线程池 | infinite |
| max-connections-size-per-query (?) | int | 一次查询请求在每个数据库实例中所能使用的最大连接数 | 1 |
| check-table-metadata-enabled (?) | boolean | 在程序启动和更新时,是否检查分片元数据的结构一致性 | false |
| load-table-metadata-batch-size (?) | int | 在程序启动或刷新元数据时,单个批次加载表元数据的数量 | 1000 |
| driver-by-pass-mode-enabled (?) | boolean | 是否开启 Driver 接入端旁路模式,旁路模式下直接使用原生数据库连接执行,能够 100% 兼容业务 SQL。旁路模式适用于项目初期接入 Driver,配合 Agent 可以收集全量 SQL 进行兼容性评估,也可以在项目上线后,用于紧急情况下的流量回切,保证业务稳定。旁路模式开启会校验所有非系统库下的配置是否满足要求,目前支持 3 种场景:1. 不配置 SingleRule 外的任何规则,并且逻辑库中仅有 1 个数据源;2. 除 SingleRule 外,配置了 EncryptRule 并且所有加密表都配置了和逻辑列同名的明文列,并且逻辑库中仅有 1 个数据源;3. 除 SingleRule 外,配置了 DualWriteRule 且仅包含一组逻辑数据源,该场景下旁路模式会切换到 primaryDataSourceName 主数据执行; | false |
| use-original-sql-when-execute-failed (?) | boolean | 是否开启 SQL 兼容模式,开启 SQL 兼容模式可以支持加密、单表、双写场景下部分 SQL 兼容,将异常的 SQL 回退到原始 SQL 执行。可以在生产环境开启 SQL 兼容模式,避免业务测试不充分导致的生产报错,SQL 兼容模型适用范围请参考各自功能的描述文档。 | false |
| sharding-in-predicate-rewrite-min-size (?) | int | 分片功能 WHERE 过滤条件中,分片键 IN 改写的最小参数个数,默认值为 500,当分片键 IN 的参数个数等于或者超过 500,则会根据路由结果对 IN 进行改写 | 500 |
操作步骤 #
属性配置直接配置在 Driver 所使用的配置文件中,格式如下:
props:
sql-show: true