# 原理流程
- 解析
- 路由
- 改写/执行
- 归并
# 解析
先将 SQL 进行语法解析,生成一颗语法树
# 路由
根据解析上下文匹配数据库和表的分片策略,并生成路由路径。 对于携带分片键的SQL,根据分片键操作符不同可以划分为单片路由(分片键的操作符是等号)、多片路由(分片键的操作符是IN)和范围路由(分片键的操作符是BETWEEN),不携带分片键的SQL则采用广播路由。根据分片键进行路由的场景可分为直接路由、标准路由、笛卡尔路由等。
# 改成
书写 MySQL 的时候面向逻辑表编写,最终由 Sharding-JDBC 去处理
# 执行
Sharding-JDBC采用一套自动化的执行引擎,分别关注 内存限制,连接限制
也就是说关注内存限制情况下,使用多线程去连接,假如有200个表,那么就启动200个线程,连接限制,会严格限制线程资源数,200表的话就会启动一个线程串行处理
# 归并
对于查询到的记录,在查询时使用降序在使用归并算法进行排序
← CompletableFuture 策略 →