MySQL InnoDB支持几种行格式

数据库表的行格式决定了一行数据是如何进行物理存储的,进而影响查询和DML操作的性能。

在InnoDB中,常见的行格式有4种:

  1、COMPACT:是MySQL 5.0之前的默认格式,除了保存字段值外,还会利用空值列表保存null值,还会记录长字段长度列表的记录头信息。

  COMPACT适合处理大量包含可变长度列(如:VARCHAR、VARCHARY、BLOB和TEXT类型)的数据。

  对于可变长度列,前768字节的数据存储在B树节点的索引记录中,超出部分索引在溢出页中。大于或等于768字节的固定长度列会被编码为可变长度列,并可以存储在页外。

  2、REDUNDANT:Redundant是MySQL 5.0版本之前的行记录存储方式,用的比较少,Redundant行格式会把该记录中所有列(包括隐藏列)的长度信息都存储到“字段长度偏移列表“中。

  3、DYNAMIC:DYNAMIC格式在MySQL 5.7版本引入,是COMPACT格式的改进版。他保持了COMPACT格式的优点,同时在存储大的可变长度列时更加灵活,能够动态地选择存储在页内或页外。DYNAMIC格式适用于大部份的应用场景,并在存储空间和性能上做了一定的平衡,其结果和COMPACT大致相同。

  4、COMPRESSED:是MySQL 5.1中InnoDB的新特性之一,它可以在存储数据时对数据进行压缩,从而减少磁盘占用空间。它的缺点是增加了CPU的使用,可能会降低一些查询的性能。COMPRERSSED行格式是在DYNAMIC行格式的基础上添加了页外压缩功能。在存储时,如果发现数据可以通过压缩减小存储空间,就会使用压缩方式来存储数据,在查询时,会自动解压缩数据并返回结果。

行格式紧凑的存储特性增强的可变长度列存储大索引健前缀支持压缩支持支持的表空间类型所需文件格式
REDUNDANTsystem,file-per-table,generalAntelope or Barracuda
COMPACTsystem,file-per-table,generalAntelope or Barracuda
DYNAMICsystem,file-per-table,generalBarracuda
COMPRESSEDfile-per-table,generalBarracuda

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/752209.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何使用git将本地文件夹提交至云效代码库

目录 引言 一、准备工作 二、配置Git用户信息 三、克隆代码库到本地 四、添加文件至Git仓库 五、推送更改至云效代码库 六、如何删除云效文件 七、注意事项 八、总结 引言 随着团队协作开发的日益普及,代码版本控制系统(VCS)如Git已…

java+mysql图书管理系统

完整代码地址 1.运行效果图 2.主要代码 2.1.连接数据库 package com.my.homework.utils;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;public class JDBCUtils {public static Connection getConnection() throws Exception {…

力压GPT-4o!新王Claude 3.5 Sonnet来了,直接免费可用

如今,大模型领域更卷了! 前脚 OpenAI 发布 GPT4o,硬控全场,后脚就被最大的竞争对手 Anthropic 超越了。 刚刚,Anthropic 发布了全新大模型 Claude 3.5 Sonnet,号称是迄今为止最智能的模型。 据介绍&#x…

CSS|05 继承性与优先级

继承性 一、继承性的特点: 1.外层元素身上的样式会被内层元素所继承 2.如果内层元素与外层元素身上的演示相同时,外层元素的样式会被内层元素所覆盖 二、关于继承性的问题 是不是所有样式都能被继承? 答:并不是所有样式能被继承…

图像处理Python库--图片裁剪、缩放、灰度图、圆角等

图像处理Python库 py-img-processor1. 安装2. 使用(Usage)2.1 运行配置2.2 图像处理处理函数图像处理参数为字符串图像处理参数为JSON 命令行提取图像主色调 py-img-processor Image editor using Python and Pillow. 依赖Pillow开发的Python库,用于图像编辑处理。…

Excel数据恢复,4个技巧挽救重要数据

在数字化时代,Excel表格已经成为我们工作、学习乃至生活中不可或缺的一部分。它们承载着我们的数据、计划、分析和决策,如同一张张承载着智慧与汗水的地图,指引我们前行。然而,当这些宝贵的数据意外丢失或被误删时,我们…

【Linux操作系统】进程地址空间与动态库加载

当系统执行一个依赖动态库的可执行程序时,系统不仅要将该可执行程序加载到内存中还要由加载器将动态库加载到内存中(静态库没有),因此必须要让加载器知道该动态库的名称,系统会默认在/lib64路径下查找,解决…

I/O系统

1. I/O接口 接口可以看做两个系统或两个部件之间的交接部分,它既可以是两种硬设备之间的连接电路,也可以是两个软件之间的共同逻辑边界。 I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其相应的软件控制。 2. 程序查询方式 程序查询方式是一…

深圳比创达|EMC与EMI一站式解决方案:从源头解决,满足您的需求

随着科技的飞速发展,电子产品日益普及,电磁兼容性(EMC)与电磁干扰(EMI)问题也逐渐凸显。 一、EMC与EMI的概述 EMC(电磁兼容性)是指电子设备在共同的电磁环境中能执行各自功能的互不…

TTS x Hallo: 免费数字人头在线生成

是一个利用了百度 Hallo 和 Parler/WhisperSpeech TTS 项目实现的可说话、嘴型匹配的数字人头在线 Space

向日葵API集成服务:三大优势助力企业搭建专属远控方案

为了方便企业用户更加灵活的搭建满足各自需求的软件解决方案,降低开发和部署门槛,很多软件方案供应商提供了多样化的合作模式。 以贝锐向日葵远程控制为例,他们就向客户提供了基础的SaaS服务模式、私有化部署模式、SDK嵌入模式,以…

VUE模板语法(超详细讲解)

大家好,我是DX3906,坚持从工作和生活中不断学习,提炼,沉淀,最终建立自己的强势领域! Vue 使用一种基于 HTML 的模板语法,使我们能够声明式地将其组件实例的数据绑定到呈现的 DOM 上。所有的 Vue…

设计模式原则——接口隔离原则

设计模式原则 设计模式示例代码库地址: https://gitee.com/Jasonpupil/designPatterns 接口隔离原则 要求程序员尽量将臃肿庞大的接口拆分为更小的和更具体的接口,让接口中只包含客户感兴趣的方法接口隔离原则的目标是降低类或模块之间的耦合度&…

文华财经7macd预警指标公式源码

文华财经7macd预警指标公式源码: DIFF:EMA(CLOSE,12) - EMA(CLOSE,26); DEA:EMA(DIFF,9); MACD:2*(DIFF-DEA),COLORSTICK; JC:CROSS(DIFF,DEA); SC:CROSSDOWN(DIFF,DEA); N1:BARSLAST(JC)1; N2:BARSLAST(SC)1; X:(HHV(H,N16)-LLV(L,N16))/LLV(L,N16)*100; …

D13005-ASEMI低频开关三极管D13005

编辑:ll D13005-ASEMI低频开关三极管D13005 型号:D13005 品牌:ASEMI 封装:TO-220 批号:2024 沟道:NPN 电流:4A 电压:400V 安装方式:直插式封装 特性&#xff1…

idea配置JAVA

idea项目用的gradle,配置项目java两个地方 1、project structure 菜单: file-》project structure,如图设置你要的java,如果没有,就点击Add SDK增加你要的版本并选择 2、settings 菜单: file-》settings

一站式AI服务平台:MaynorAI助您轻松驾驭人工智能

一站式AI服务平台:MaynorAI助您轻松驾驭人工智能 在当前的数字化时代,人工智能(AI)技术已经成为推动各行各业创新发展的核心动力。为了更好地满足企业和个人用户对AI服务的需求,MaynorAI 作为一个领先的一站式调用国内…

分享HTML显示2D/3D粒子时钟

效果截图 实现代码 线上体验&#xff1a;three.jscannon.js Web 3D <!DOCTYPE html> <head> <title>three.jscannon.js Web 3D</title><meta charset"utf-8"><meta name"viewport" content"widthdevice-width,ini…

【UE开发】游戏库存UI系统Demo

1.项目介绍 1.描述&#xff1a;一种用于存储记录玩家物品的游戏内可视化操作系统。 2.演示&#xff1a;https://www.bilibili.com/video/BV1f53neVEfW/?vd_source50dea901fd12253f417c48b937975b0d 3.大纲&#xff1a; 4.样式&#xff1a; 2.W_Inventory_Main_01&#xff08;…

DigiRL:让 AI 自己学会控制手机

类似于苹果此前发布的Ferret-UI 的安卓开源平替。主要用于在 Android 设备上识别 UI 和执行指令&#xff0c;不同的是它利用了离线到在线强化学习&#xff08;Offline-to-Online RL&#xff09;&#xff0c;能够快速适应应用更新或 UI 变化。