课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据库拆分是程序员在优化数据库性能的时候都会使用到的一种方法,下面我们就通过案例分析来了解一下,数据库拆分方法与原则分析。
当表中数据量太大时SQL的查询会比较慢,你可以考虑拆分表,让每张表的数据量变小,从而提高查询效率。
1.垂直拆分
指的是将表进行拆分,把一张列比较多的表拆分为多张表。比如,用户表中一些字段经常被访问,将这些字段放在一张表中,另外一些不常用的字段放在另一张表中,插入数据时,使用事务确保两张表的数据一致性。
垂直拆分的原则:
把不常用的字段单独放在一张表;
把text,blob等大字段拆分出来放在附表中;
经常组合查询的列放在一张表中。
2.水平拆分
指的是将数据表行进行拆分,表的行数超过200万行时,就会变慢,这时可以把一张的表的数据拆成多张表来存放。
通常情况下,我们使用取模的方式来进行表的拆分,比如,一张有400W的用户表users,为提高其查询效率我们把其分成4张表users1,users2,users3,users4,然后通过用户ID取模的方法,同时查询、更新、删除也是通过取模的方法来操作。
表的其他优化方案:
使用可以存下数据小的数据类型;
使用简单的数据类型,int要比varchar类型在MySQL处理简单;
尽量使用tinyint、smallint、mediumint作为整数类型而非int;
尽可能使用notnull定义字段,因为null占用4字节空间;
尽量少用text类型,非用不可时好考虑分表;
尽量使用timestamp,而非datetime;
单表不要有太多字段,建议在20个字段以内。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。