??????????????????????????????????????????????
????????????????????????????????????????db??????????????????????
t_order_0??t_order_1??t_order_item_0??t_order_item_1
# ????ds0 ??ds1??????????
spring.shardingsphere.datasource.names=ds0
#ds0 ????
spring.shardingsphere.datasource.ds0.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.ds0.driver-class-name=com.mysql.jdbc.Driver
spring.shardingsphere.datasource.ds0.jdbc-url=jdbc:mysql://192.168.241.198:3306/shop_ds_0?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
spring.shardingsphere.datasource.ds0.username=root
spring.shardingsphere.datasource.ds0.password=root
#??????????
spring.shardingsphere.sharding.binding-tables=t_order,t_order_item
spring.shardingsphere.sharding.broadcast-tables=t_address

# ????????????
# ???? ds0.t_order_0,ds0.t_order_1,ds1.t_order_0,ds1.t_order_1
spring.shardingsphere.sharding.tables.t_order.actual-data-nodes=ds0.t_order_$->{0..1}
# ????????id
spring.shardingsphere.sharding.tables.t_order.table-strategy.inline.sharding-column=order_id
# ???????? ????id????,????????????????????????
spring.shardingsphere.sharding.tables.t_order.table-strategy.inline.algorithm-expression
 = t_order_$->{order_id % 2}
# ????SNOWFLAKE????????????
spring.shardingsphere.sharding.tables.t_order.key-generator.column=order_id
spring.shardingsphere.sharding.tables.t_order.key-generator.type=SNOWFLAKE
spring.shardingsphere.sharding.tables.t_order.key-generator.props.worker.id=123
# ????
spring.shardingsphere.sharding.tables.t_order_item.actual-data-nodes=ds0.t_order_item_$->{0..1}
# ????????id
spring.shardingsphere.sharding.tables.t_order_item.table-strategy.inline.sharding-column=order_id
# ???????? ????id????,????????????????????????
spring.shardingsphere.sharding.tables.t_order_item.table-strategy.inline.algorithm-expression=t_order_item_$->{order_id
 % 2}
# ????SNOWFLAKE????????????
spring.shardingsphere.sharding.tables.t_order_item.key-generator.column=order_item_id
spring.shardingsphere.sharding.tables.t_order_item.key-generator.type=SNOWFLAKE
spring.shardingsphere.sharding.tables.t_order_item.key-generator.props.worker.id=123????sql??????SELECT
 i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE 
o.order_id = 0 or o.order_id = 1????SELECT i.* FROM t_order o JOIN t_order_item 
i ON o.order_id=i.order_id WHERE o.order_id 
in(0,1)shardingsphere??????<dependency&gt;
    <groupId&gt;org.apache.shardingsphere</groupId&gt;
    <artifactId&gt;sharding-jdbc-spring-boot-starter</artifactId&gt;
    <version&gt;4.0.0-RC2</version&gt;
</dependency&gt;??????????????????????2019-11-17 15:15:29.569  INFO 25344 --- 
[nio-8080-exec-1] ShardingSphere-SQL                       : Rule Type: 
sharding 2019-11-17 15:15:29.569  INFO 25344 --- [nio-8080-exec-1] 
ShardingSphere-SQL                       : Logic SQL: SELECT i.* FROM t_order o 
JOIN t_order_item i ON o.order_id=i.order_id WHERE o.order_id = 0 or o.order_id 
= 1 2019-11-17 15:15:29.570  INFO 25344 --- [nio-8080-exec-1] 
ShardingSphere-SQL                       : SQLStatement: 
ShardingSelectOptimizedStatement(tables=Tables(tables=[Table(name=t_order, 
alias=Optional.of(o)), Table(name=t_order_item, alias=Optional.of(i))], 
schema=Optional.absent()), 
groupBy=org.apache.shardingsphere.core.optimize.sharding.segment.select.groupby.GroupBy@da3e8a8,
 
orderBy=org.apache.shardingsphere.core.optimize.sharding.segment.select.orderby.OrderBy@72768b84,
 selectItems=SelectItems(startIndex=7, stopIndex=9, distinctRow=false, 
items=[ShorthandSelectItem(owner=Optional.of(i))], 
tables=[TableSegment(startIndex=16, stopIndex=22, name=t_order, 
quoteCharacter=NONE, owner=Optional.absent(), alias=Optional.of(o)), 
TableSegment(startIndex=31, stopIndex=42, name=t_order_item, 
quoteCharacter=NONE, owner=Optional.absent(), alias=Optional.of(i))]), 
pagination=org.apache.shardingsphere.core.optimize.sharding.segment.select.pagination.Pagination@2b7a3dfe,
 containsSubquery=false) 2019-11-17 15:15:29.570  INFO 25344 --- 
[nio-8080-exec-1] ShardingSphere-SQL                       : Actual SQL: ds0 
::: SELECT i.* FROM t_order_0 o JOIN t_order_item_1 i ON o.order_id=i.order_id 
WHERE o.order_id = 0 or o.order_id = 1 2019-11-17 15:15:29.570  INFO 25344 --- 
[nio-8080-exec-1] ShardingSphere-SQL                       : Actual SQL: ds0 
::: SELECT i.* FROM t_order_0 o JOIN t_order_item_0 i ON o.order_id=i.order_id 
WHERE o.order_id = 0 or o.order_id = 1 2019-11-17 15:15:29.570  INFO 25344 --- 
[nio-8080-exec-1] ShardingSphere-SQL                       : Actual SQL: ds0 
::: SELECT i.* FROM t_order_1 o JOIN t_order_item_1 i ON o.order_id=i.order_id 
WHERE o.order_id = 0 or o.order_id = 1 2019-11-17 15:15:29.570  INFO 25344 --- 
[nio-8080-exec-1] ShardingSphere-SQL                       : Actual SQL: ds0 
::: SELECT i.* FROM t_order_1 o JOIN t_order_item_0 i ON o.order_id=i.order_id 
WHERE o.order_id = 0 or o.order_id = 
1????????????????????????????????????????????????????????????????????????????????????????

Reply via email to