微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql中分表的方式有哪些

MysqL中分表的方式有:1.垂直分表,包含有很多列的表拆分成多个表;2.水平分表,将大表根据某个字段和规则分散到多个表中;3.按号段分表,以user_id为区分;

mysql中分表的方式有哪些

MysqL中分表的方式有以下几种

1.垂直分表

垂直分表就是一个包含有很多列的表拆分成多个表,比如表A包含20个字段,现在拆分成表A1和A2,两个表各十个字段(具体如何拆根据业务来选择)。

优势:在高并发的情境下,可以减少表锁和行锁的次数

劣势:在数据记录非常大的情况下,读写速度还是会遇到瓶颈。

2.水平分表

水平切分主要是将某个访问极其频繁的大表再依照某个字段的某种规则来分散到多个表中。

劣势:会给前端程序应用程序的sql代码的维护带来很大的麻烦,这时候可以使用MysqL的Merge存储引擎实现分表。

3.按号段分表

按号段分表是以user_id为区分,1~1000的对应DB1,1001~2000的对应DB2,以此类推。

优点:可部分迁移

缺点:数据分布不均

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐