登陆

MySQL 表结构优化的一些剖析,简略有用

admin 2019-09-07 213人围观 ,发现0个评论

关于MySQL分区表、分库分表,能够参阅如下文章:

彻底了解-MySQL 分区表、分MySQL 表结构优化的一些剖析,简略有用库分表、以及Sharding-JDBC 中间件

1. 笔直拆分

把主键和一些常用的字段放到一个表中,把主键和其他的字段放到另一个表中。

长处:笔直拆分能够使一个数据页放更多的数据,能够较少IO次数。

缺陷:查询所需的数据或许需求经过JOIN来查询。

适用场景:表过宽,包括text或blob字段,能够将不常用的列或text/blob列放到别的的表中存MySQL 表结构优化的一些剖析,简略有用储。比方文章表能够将文章内容拆分到别的的表中。

TEXT与BLOB的首要不同便是BLOB保存二进制数据,TEXT保存字符数MySQL 表结构优化的一些剖析,简略有用据。

别的,在数据更新操作时,多表一起更新也比较费事。

举一个很常见的业务比方,在分库分表中,要同步更新两个表,这两个表坐落不同的物理库中(或许同一库的不同表中),为了确保数据共同性,一种做法是经过分布式业务(或本地业务)将两个更新操作放到一个业MySQL 表结构优化的一些剖析,简略有用务中,但这样的操作一般要加携程酒店大局锁,功能不太好。

【强制】超越三个表制止 join。需求 join 的字段,数据类型有必要肯定共同;多表相关查询时,确保被相关的字段需求有索引。《阿里Java开发手册》

2. 水平拆分

依据某一列的值把数据放到多个独立的表中,比方历史数据放到另一张表里。

长处:削减大多数查询读取的MySQL 表结构优化的一些剖析,简略有用数据量,下降索引层数,进步查询速度。

缺陷:添MySQL 表结构优化的一些剖析,简略有用加查询复杂度,查询多个表需求运用UNION,或许经过MERGE表。

适用场景:表中数据量过大,历史数据查询次数很少,比方订单信息、操作记载等。

留意:进行水平拆分后的表,字段的列和类型和原表应该是相同的,可是要记住去掉Primary Key字段的auto_increment自添加。

3. 逆规范化

添加冗余列:在多个表中具有相同的列,防止联合查询。

添加派生列:添加的列来自其他表的计算结果,可防止运用函数。

从头组表:将常常联合查询的表组成一个表,削减联合查询。

广州港股份有限公司关于公司董事长辞职及副董事长代行董事长职权的公告

2019-09-19
  •   依据对国家计算局最新房价数据的整理,从

  • 8月70城房价接连3个月涨幅放缓

    2019-09-19
  •   本公司及董事会全体成员

    百洋工业出资集团股份有限公司关于控股股东签署《关于股权转让结构协议之停止协议》的布告

    2019-09-19
  •   本公司董事会及整体董事

    章鱼彩票appios-桃李面包股份有限公司第五届董事会第七次会议决议公告

    2019-09-19
  • 请关注微信公众号
    微信二维码
    不容错过
    Powered By Z-BlogPHP