时间:2021-05-24
垂直拆分
垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表
经常组合查询的列放在一张表中;
垂直拆分更多时候就应该在数据表设计之初就执行的步骤,然后查询的时候用jion关键起来即可;
水平拆分
水平拆分是指数据表行的拆分,表的行数超过200万行时,就会变慢,这时可以把一张的表的数据拆成多张表来存放。
水平拆分的一些技巧
1. 拆分原则
通常情况下,我们使用取模的方式来进行表的拆分;比如一张有400W的用户表users,为提高其查询效率我们把其分成4张表
users1,users2,users3,users4
通过用ID取模的方法把数据分散到四张表内Id%4+1 = [1,2,3,4]
然后查询,更新,删除也是通过取模的方法来查询
$_GET['id'] = 17,17%4 + 1 = 2, $tableName = 'users'.'2'Select * from users2 where id = 17;在insert时还需要一张临时表uid_temp来提供自增的ID,该表的唯一用处就是提供自增的ID;
insert into uid_temp values(null);得到自增的ID后,又通过取模法进行分表插入;
注意,进行水平拆分后的表,字段的列和类型和原表应该是相同的,但是要记得去掉auto_increment自增长
另外
Create view users as select from users1 union select from users2 union.........
以上就是MySQL 表的垂直拆分和水平拆分的详细内容,更多关于MySQL 表拆分的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了MySQL数据库优化之分表分库操作。分享给大家供大家参考,具体如下:分表分库垂直拆分垂直拆分就是要把表按模块划分到不同数据库表中(当然原则还是不破
垂直分表垂直分表就是一个包含有很多列的表拆分成多个表,比如表A包含20个字段,现在拆分成表A1和A2,两个表各十个字段(具体如何拆根据业务来选择)。优势:在高并
当MindManager思维导图特别大时,可以拆分导图视图,方便同时查看导图的不同部分,拆分方式有两种:水平和垂直。软件名称:mindmanager2012汉化
一、拆分单元格 为了查看各项数据的前后对照关系,可以通过拆分工作表窗口的方法将工作表拆分为2个或4个独立的单元格,在独立的单元格中查看不同位置的数据。
一、拆分单元格 为了查看各项数据的前后对照关系,可以通过拆分工作表窗口的方法将工作表拆分为2个或4个独立的单元格,在独立的单元格中查看不同位置的数据。