✅ShardingJDBC 在查询的时候如果没有分表键,他怎么样?.md 分库分表/✅ShardingJDBC有哪些分片策略,你用的哪个?.md 分库分表/✅什么是分库?分表?分库分表?.md 分库分表/✅什么是数据倾斜,会带来哪些问题?如何解决?.md 分库分表/✅分区和分表有什么区别?.md 分库分表/✅分库分表中,如何预估需要分多少个库?多少张表?.md 分库分表/✅分库分表之后的怎么进行join操作.md 分库分表/✅分库分表后会带来哪些问题?.md 分库分表/✅分库分表后如何进行分页查询?.md 分库分表/✅分库分表后怎么设计可以降低数据迁移的难度?.md 分库分表/✅分库分表后,表还不够怎么办?.md 分库分表/✅分库分表的取模算法策略如何避免数据倾斜.md 分库分表/✅分库分表的数量为什么一般选择2的幂?.md 分库分表/✅分表后全局ID如何生成?.md 分库分表/✅分表字段如何选择?.md 分库分表/✅分表算法都有哪些?.md 分库分表/✅在分库分表时,如果遇到了对商品名称的模糊查询,要怎么处理?.md #最佳实践 数据量大就分表,并发量大就分库,会带来 id 重复的问题 分表是增加单位数据所享有的CRUD 资源,分库是增加单位数据所享有的数据库基建。分表解决的是大数据量的问题,分库解决的是高并发的问题。 | | | | | --- | ------------------ | --- | | 分库 | 把一个大数据库拆成多个独立的小数据库 | | | 分表 | 把一张大表拆成多张小表 | 水平分 | | | | 垂直分 | 就像大超市顾客太多会拥堵,分成小超市后,每家店顾客都变少了,服务也更快了。 在面试时被问到,为什么 MySQL 数据库数据量大了要进行分库分表?- Coder 的技术之路的回答 - 知乎 https://www.zhihu.com/question/459955079/answer/1904557377 在让你设计分库分表的时候,一定要知道,**分库、分表、分库分表他是三件事**儿,不是一件事儿。所以首先你要说的就是我们需要考虑是否需要分库、是否需要分表。 如果说做这个方案的目的是为了解决单表数据量太大,查询效率慢的问题,那分表就够了,把这些数据分散到不同的表中,让每一张单表的数据量变小,那就可以了。 如果说,做这个方案的目的,是为了解决并发量太高,数据库连接数不够、数据库的资源性能(内存、CPU、磁盘)不够的问题,那就需要做分库,用更多的数据库实例来抗更高的并发。 所以说,**分表解决的是大数据量的问题,分库解决的是高并发的问题**。但一般来说,高并发往往伴随着大数据量,所以很多时候分库分表是一起做的。但是也不绝对。有些系统就是并发不高,但是年头很多了,数据量很大。