Apache ShardingSphere 中文文档 5.0.0-alpha解析 分为词法解析和语法解析。先通过词法解析器将 SQL 拆分为一个个不可再分的单词。再使用语法解析器 对 SQL 进行理解,并最终提炼出解析上下文。解析上下文包括表、选择项、排序项、分组项、聚合函数、 分页信息、查询条件以及可能需要修改的占位符的标记。 执行器优化 合并和优化分片条件,如 OR 等。 SQL 路由 根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。 满足直接路由的条件相对苛刻,它需要通过 Hint(使用 HintAPI 直接指定路由至库表)方式分片,并且 是只分库不分表的前提下,则可以避免 SQL 解析和之后的结果归并。因此它的兼容性最好,可以执行包 括子查询、自定义函数等复杂情况的任意 SQL。直接路由还可以用于分片键不在 SQL 中的场景。例如,设 置用于数据库分片的键为 3, hintManager.setDatabaseShardingValue(3); o, t_order_item i WHERE o.order_id=i.order_id ORDER BY user_id, order_item_id; 补列的另一种情况是使用 AVG 聚合函数。在分布式的场景中,使用 avg1 + avg2 + avg3 / 3 计算平均值并 不正确,需要改写为 (sum1 + sum2 + sum3) / (count1 + count2 + count3)。这就需要将包含0 码力 | 301 页 | 3.44 MB | 1 年前3
Apache ShardingSphere v5.5.0 中文文档tbl_name WHERE col3 = ?(SELECT 子 句不支持 * 和内置分布式主键生成器) • SELECT MAX(tbl_name.col1) FROM tbl_name(查询列是函数表达式时,查询列前不能使用表名, 可以使用表别名) 其他: • 分片规则中配置的真实表、分片列和分布式序列需要和数据库中的列保持大小写一致。 8.2 分布式事务 8.2.1 背景 数据库事务需要满足 commit() 和 rollback() 方法,这是被允许的。 2. 在函数上使用 Jakarta EE 8 的 javax.transaction.Transactional 注解,这是被允许的。 9.1. ShardingSphere-JDBC 130 Apache ShardingSphere document 3. 在函数上使用 Jakarta EE 9/10 的 jakarta.transaction transaction.Transactional 注解,这是被允许 的。 4. 在函数上使用 Spring Framework 的 org.springframework.transaction.annotation. Transactional 注解,这是被允许的。 5. 在函数上使用 io.seata.spring.annotation.GlobalTransactional 注解,这是不被允许0 码力 | 557 页 | 4.61 MB | 1 年前3
Apache ShardingSphere 中文文档 5.0.0tbl_name WHERE col3 = ? SELECT 子句不支持 * 和内置分 布式主键生成器 无 SELECT MAX(tbl_name.col1) FROM tbl_name 查询列是函数表达式时,查询列 前不能使用表名 使用表 别名 分页 完全支持 MySQL、PostgreSQL 和 Oracle 的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 分页性能 相关操作 5.1. ShardingSphere-JDBC 157 Apache ShardingSphere document, v5.0.0 Connection 接口 • 不支持存储过程,函数,游标的操作 • 不支持执行 native SQL • 不支持 savepoint 相关操作 • 不支持 Schema/Catalog 的操作 • 不支持自定义类型映射 Statement 解析 分为词法解析和语法解析。先通过词法解析器将 SQL 拆分为一个个不可再分的单词。再使用语法解析器 对 SQL 进行理解,并最终提炼出解析上下文。解析上下文包括表、选择项、排序项、分组项、聚合函数、 分页信息、查询条件以及可能需要修改的占位符的标记。 7.1. 数据分片 224 Apache ShardingSphere document, v5.0.0 7.1.2 SQL 路由0 码力 | 385 页 | 4.26 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.1tbl_name WHERE col3 = ? SELECT 子句不支持 * 和内置分 布式主键生成器 无 SELECT MAX(tbl_name.col1) FROM tbl_name 查询列是函数表达式时,查询列 前不能使用表名 使用表 别名 分页 完全支持 MySQL、PostgreSQL 和 Oracle 的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 4 uteSQL/: 表示执行 SQL 异常的日志。 5.1.8 不支持项 DataSource 接口 • 不支持 timeout 相关操作。 Connection 接口 • 不支持存储过程,函数,游标的操作; • 不支持执行 native SQL; • 不支持 savepoint 相关操作; • 不支持 Schema/Catalog 的操作; • 不支持自定义类型映射。 5.1. 解析 分为词法解析和语法解析。先通过词法解析器将 SQL 拆分为一个个不可再分的单词。再使用语法解析器 对 SQL 进行理解,并最终提炼出解析上下文。解析上下文包括表、选择项、排序项、分组项、聚合函数、 分页信息、查询条件以及可能需要修改的占位符的标记。 7.2.2 SQL 路由 根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。 7.2.3 SQL 改写0 码力 | 409 页 | 4.47 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.0tbl_name WHERE col3 = ? SELECT 子句不支持 * 和内置分 布式主键生成器 无 SELECT MAX(tbl_name.col1) FROM tbl_name 查询列是函数表达式时,查询列 前不能使用表名 使用表 别名 分页 完全支持 MySQL、PostgreSQL 和 Oracle 的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 4 cuteSQL/: 表示执行 SQL 异常的日志。 5.1.8 不支持项 DataSource 接口 • 不支持 timeout 相关操作 Connection 接口 • 不支持存储过程,函数,游标的操作 • 不支持执行 native SQL • 不支持 savepoint 相关操作 • 不支持 Schema/Catalog 的操作 • 不支持自定义类型映射 5.1. ShardingSphere-JDBC 解析 分为词法解析和语法解析。先通过词法解析器将 SQL 拆分为一个个不可再分的单词。再使用语法解析器 对 SQL 进行理解,并最终提炼出解析上下文。解析上下文包括表、选择项、排序项、分组项、聚合函数、 分页信息、查询条件以及可能需要修改的占位符的标记。 7.2.2 SQL 路由 根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。 7.2.3 SQL 改写0 码力 | 406 页 | 4.40 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.2tbl_name WHERE col3 = ? SELECT 子句不支持 * 和内置分 布式主键生成器 无 SELECT MAX(tbl_name.col1) FROM tbl_name 查询列是函数表达式时,查询列 前不能使用表名 使用表 别名 分页 完全支持 MySQL、PostgreSQL 和 Oracle 的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 4 uteSQL/: 表示执行 SQL 异常的日志。 5.1.9 不支持项 DataSource 接口 • 不支持 timeout 相关操作。 Connection 接口 • 不支持存储过程,函数,游标的操作; • 不支持执行 native SQL; • 不支持 savepoint 相关操作; • 不支持 Schema/Catalog 的操作; • 不支持自定义类型映射。 5.1. 解析 分为词法解析和语法解析。先通过词法解析器将 SQL 拆分为一个个不可再分的单词。再使用语法解析器 对 SQL 进行理解,并最终提炼出解析上下文。解析上下文包括表、选择项、排序项、分组项、聚合函数、 分页信息、查询条件以及可能需要修改的占位符的标记。 7.2.2 SQL 路由 根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。 7.2.3 SQL 改写0 码力 | 446 页 | 4.67 MB | 1 年前3
Apache ShardingSphere 中文文档 5.2.0tbl_name WHERE col3 = ?(SELECT 子 句不支持 * 和内置分布式主键生成器) • SELECT MAX(tbl_name.col1) FROM tbl_name(查询列是函数表达式时,查询列前不能使用表名, 可以使用表别名) 3.2 分布式事务 3.2.1 背景 数据库事务需要满足 ACID(原子性、一致性、隔离性、持久性)四个特性。 • 原子性(Atomic conf 和 registry.conf 文件。 4.1.6 不支持项 DataSource 接口 • 不支持 timeout 相关操作。 Connection 接口 • 不支持存储过程,函数,游标的操作; • 不支持执行 native SQL; • 不支持 savepoint 相关操作; • 不支持 Schema/Catalog 的操作; • 不支持自定义类型映射。 Statement 解析 分为词法解析和语法解析。先通过词法解析器将 SQL 拆分为一个个不可再分的单词。再使用语法解析器 对 SQL 进行理解,并最终提炼出解析上下文。解析上下文包括表、选择项、排序项、分组项、聚合函数、 分页信息、查询条件以及可能需要修改的占位符的标记。 7.4.2 SQL 路由 根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。 7.4.3 SQL 改写0 码力 | 449 页 | 5.85 MB | 1 年前3
Apache ShardingSphere 中文文档 5.4.1tbl_name WHERE col3 = ?(SELECT 子 句不支持 * 和内置分布式主键生成器) • SELECT MAX(tbl_name.col1) FROM tbl_name(查询列是函数表达式时,查询列前不能使用表名, 可以使用表别名) 其他: • 分片规则中配置的真实表、分片列和分布式序列需要和数据库中的列保持大小写一致。 8.2 分布式事务 8.2.1 背景 数据库事务需要满足 进行检索,并安装到 ShardingSphere 中。 9.1.5 不支持项 DataSource 接口 • 不支持 timeout 相关操作。 Connection 接口 • 不支持存储过程,函数,游标的操作; • 不支持执行 native SQL; • 不支持 savepoint 相关操作; • 不支持 Schema/Catalog 的操作; • 不支持自定义类型映射。 Statement 解析 分为词法解析和语法解析。先通过词法解析器将 SQL 拆分为一个个不可再分的单词。再使用语法解析器 对 SQL 进行理解,并最终提炼出解析上下文。解析上下文包括表、选择项、排序项、分组项、聚合函数、 分页信息、查询条件以及可能需要修改的占位符的标记。 12.4.2 SQL 路由 根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。 12.4.3 SQL 改写0 码力 | 530 页 | 4.49 MB | 1 年前3
Apache ShardingSphere 中文文档 5.3.2tbl_name WHERE col3 = ?(SELECT 子 句不支持 * 和内置分布式主键生成器) • SELECT MAX(tbl_name.col1) FROM tbl_name(查询列是函数表达式时,查询列前不能使用表名, 可以使用表别名) 其他: • 分片规则中配置的真实表、分片列和分布式序列需要和数据库中的列保持大小写一致。 8.2 分布式事务 8.2.1 背景 数据库事务需要满足 ider, 使用 JooQ 的 SQL 翻译器 9.1.5 不支持项 DataSource 接口 • 不支持 timeout 相关操作。 Connection 接口 • 不支持存储过程,函数,游标的操作; • 不支持执行 native SQL; • 不支持 savepoint 相关操作; • 不支持 Schema/Catalog 的操作; • 不支持自定义类型映射。 Statement 解析 分为词法解析和语法解析。先通过词法解析器将 SQL 拆分为一个个不可再分的单词。再使用语法解析器 对 SQL 进行理解,并最终提炼出解析上下文。解析上下文包括表、选择项、排序项、分组项、聚合函数、 分页信息、查询条件以及可能需要修改的占位符的标记。 12.4.2 SQL 路由 根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。 12.4.3 SQL 改写0 码力 | 508 页 | 4.44 MB | 1 年前3
01 Sharding JDBC概览分为词法解析和语法解析。 先通过词法解析器将SQL拆分为一个个不可再分的单词。再使用语 法解析器对SQL进行理解,并最终提炼出解析上下文。 解析上下文包括表、选择项、排序项、 分组项、聚合函数、分页信息、查询条件以及可能需要修改的占位符的标记。 执行器优化 合并和优化分片条件,如OR等。 SQL路由 根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。0 码力 | 6 页 | 781.70 KB | 1 年前3
共 12 条
- 1
- 2













