猿问

Sharding-JDBC的动态分表

如果一张表想实现动态分表,如每个月自动分出新的表,或者超过1万条记录自动分出新表?请问这种情况下Sharding-JDBC如何实现?
自己维护Map<String, DataSource>和List<String> actualTables,每次在这里添加新的表就行吗?

繁星淼淼
浏览 1981回答 2
2回答

慕侠2389804

超过1万记录自动分出新表这个sharding-jdbc做不了。按月动态分表可以。预先建好每个月的表,然后实现动态的分表策略就好了。例如:<rdb:data-source id="shardingDataSource">&nbsp; &nbsp; <rdb:sharding-rule data-sources="dbtbl_0,dbtbl_1" default-data-source="dbtbl_0">&nbsp; &nbsp; &nbsp; &nbsp; <rdb:table-rules>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <rdb:table-rule logic-table="t_order" dynamic="true" database-strategy="databaseStrategy" table-strategy="orderTableStrategy"/>&nbsp; &nbsp; &nbsp; &nbsp; </rdb:table-rules>&nbsp; &nbsp; </rdb:sharding-rule></rdb:data-source>

尚方宝剑之说

按月动态分表,必须要提前建立所有月的表吗?
随时随地看视频慕课网APP
我要回答