zoukankan      html  css  js  c++  java
  • Mysql 行存储的文件格式

    一、Mysql行存储的文件格式概述

    InnoDB存储引擎有两种文件格式

    Antelope:compact与redundant两种行记录格式

    Barracuda:compress与dynamic两种行记录格式

    查看表的行记录格式:

    show table status like '%sys_appinfo%'G;

    查看数据库默认的行记录格式:

    show variables like '%row_format%';

    文件格式查看方式:

    show variables like 'innodb_file%';('innodb_file)

    二、四种行记录格式的不同

    MySQL5.7默认使用Barracuda文件格式与dynamic行记录格式。

    compact是目前使用最多的一种,而dynamic时新版本默认的行记录格式。

    在生产中,我们应该选择哪种行记录格式?

    这要说明行溢出:行溢出简单来讲就是需要存储的数据在当前页面之外,拆分到多个页进行存储。

    针对大数据类型text或者blob存储在其字段中的数据,dynamic实际采用的数据都存放在溢出的

    页中(off-page),而数据页只存储前20个字节指针。在compact行格式下,溢出的列只存放768个

    前缀字节。dynamic这种行格式模式,针对溢出列所在的新页利用率更高。所以,目前生产环境

    中建议尽量使用dynamic这种行格式模式,针对溢出列所在的新页利用率更高。

    redundant是最早的行记录格式,相比compact要消耗更多的存储空间,不建议使用。

    compressed是压缩格式,是对数据和索引进行压缩。但只是针对物理存储层面上的压缩,而在

    内存中是不压缩的。当数据调用到内存中就涉及到转换,会很消耗CPU资源,而且效率很低。

    压缩比不高,大概直接进1/2的比例。压缩带来负面影响大,数据库TPS会下降,影响现有的线上业务,

    不建议使用。

  • 相关阅读:
    OpenCV中threshold函数的使用
    opencv中namedWindow( )函数
    Open CV leaning
    RGB颜色表
    visual studio 2015 Opencv4.0.1配置
    uint16_t
    Arduino重置-复位问题
    bzoj1823 [JSOI2010]满汉全席(2-SAT)
    bzoj2208 [Jsoi2010]连通数(scc+bitset)
    UVAlive3713 Astronauts(2-SAT)
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/10717256.html
Copyright © 2011-2022 走看看