分表
①什么时候考虑分表?
- 一张表的查询速度已经慢到影响使用的时候
- sql经过优化
- 数据量大
- 当频繁插入或者联合查询时,速度变慢
②分表解决的问题
分表后,单表的并发能力提高了,磁盘的IO性能也提供了,写操作效率也提高了。
- 查询一次的时间短了
- 数据分布在不同的文件,磁盘I/O性能提高
- 读写锁影响的数据量变小
- 插入数据库需要重新建立索引的数据减少
③分表实现方式
要业务系统配合迁移升级,工作量较大
常用分区分表的规则策略
- Range(范围)
- Hash(哈希)
- 按照时间拆分
- Hash之后按照分表个数取模
- 在认证库中保存数据库配置,就是建立一个DB,这个DB单独保存user_id到DB的映射关系
