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行格式的基础上添加了页外压缩功能。在存储时,如果发现数据可以通过压缩减小存储空间,就会使用压缩方式来存储数据,在查询时,会自动解压缩数据并返回结果。
| 行格式 | 紧凑的存储特性 | 增强的可变长度列存储 | 大索引健前缀支持 | 压缩支持 | 支持的表空间类型 | 所需文件格式 |
| REDUNDANT | 否 | 否 | 否 | 否 | system,file-per-table,general | Antelope or Barracuda |
| COMPACT | 是 | 否 | 否 | 否 | system,file-per-table,general | Antelope or Barracuda |
| DYNAMIC | 是 | 是 | 是 | 否 | system,file-per-table,general | Barracuda |
| COMPRESSED | 是 | 是 | 是 | 是 | file-per-table,general | Barracuda |
参考:Hollis
相关文章:
MySQL InnoDB支持几种行格式
数据库表的行格式决定了一行数据是如何进行物理存储的,进而影响查询和DML操作的性能。 在InnoDB中,常见的行格式有4种: 1、COMPACT:是MySQL 5.0之前的默认格式,除了保存字段值外,还会利用空值列表保存null…...
Day6: 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字
题目344. 反转字符串 - 力扣(LeetCode) void reverseString(vector<char>& s) {int len s.size();int left 0;int right len - 1;while (left < right){swap(s[left], s[right--]);}return;} 题目541. 反转字符串 II - 力扣࿰…...
kubekey 离线安装高可用 kubernetes 集群
1. 准备环境 版本: kubernetes: v1.29.2 kubesphere: v3.4.1 kubekey: v3.1.1 说明: kubekey 只用于安装 kubernetes,因为 kubesphere 的配置在安装时经常需要变动,用 ks-installer 的 yaml 文件更好管理;ks-installe…...
大数据面试题之Hive(2)
目录 Hive的join操作原理,leftjoin、right join、inner join、outer join的异同? Hive如何优化join操作 Hive的mapjoin Hive语句的运行机制,例如包含where、having、group by、orderby,整个的执行过程? Hive使用的时候会将数据同步到HD…...
求推荐几款http可视化调试工具?
Postman 非常流行的API调试工具,适用于构建、测试和文档化APIs。它支持各种HTTP方法,有强大的集合和环境管理功能,以及代码生成能力。 BB-API 是一款旨在提升开发效率的工具,它专注于提供简约、完全免费且功能强大的HTTP模拟请…...
Python逻辑控制语句 之 判断语句--if else结构
1.if else 的介绍 if else :如果 ... 否则 .... 2.if else 的语法 if 判断条件: 判断条件成立,执行的代码 else: 判断条件不成立,执行的代码 (1)else 是关键字, 后⾯需要 冒号 (2)存在冒号…...
word2016中新建页面显示出来的页面没有页眉页脚,只显示正文部分。解决办法
问题描述:word2016中新建页面显示出来的页面没有页眉页脚,只显示正文部分。设置了页边距也不管用。 如图1 图1 解决: 点击“视图”——“多页”——“单页”,即可。如图2操作 图2 结果展示:如图3 图3...
8.javaSE基础进阶_泛型generics(无解通配符?+上下界统配符superextends)
文章目录 泛型generics一.泛型简介二.泛型类1.泛型方法 三.泛型接口四.泛型进阶1.*<?>无解通配符*2.上界通配符 < ? extends E>3.下界通配符 < ? super E>4.泛型擦除 泛型generics 一.泛型简介 JDK5引入,一种安全机制,编译时检测不匹配类型 特点: 将数…...
酒店客房管理系统(Java+MySQL)
技术栈 Java: 作为主要编程语言。Swing GUI: 用于开发图形用户界面。MySQL: 作为数据库管理系统。JDBC: 用于连接和操作MySQL数据库。 功能要点 管理登录认证 系统提供管理员登录认证功能。通过用户名和密码验证身份,确保只有授权的用户可以访问和管理酒店客房信…...
S32K3 --- Wdg(内狗) Mcal配置
前言 看门狗的作用是用来检测程序是否跑飞,进入死循环。我们需要不停地喂狗,来确保程序是正常运行的,一旦停止喂狗,意味着程序跑飞,超时后就会reset复位程序。 一、Wdg 1.1 WdgGeneral Wdg Disable Allowed : 启用此参数后,允许在运行的时候禁用看门狗 Wdg Enable User…...
LeetCode 算法:二叉树的层序遍历 c++
原题链接🔗:二叉树的层序遍历 难度:中等⭐️⭐️ 题目 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:roo…...
博途TIA Portal「集成自动化软件」下载安装,TIA Portal 灵活多变的编程环境
在编程领域,博途TIA Portal以其卓越的编程工具和灵活多变的编程环境,为众多用户提供了前所未有的便利。这款软件不仅支持多种编程语言,如梯形图(Ladder Diagram)、功能块图(Function Block Diagram…...
火了10年的电脑监控软件有哪些?盘点8款热门的电脑监控软件
电脑监控软件领域经历了多年的发展,一些软件因为其稳定的功能、良好的用户体验和不断更新的技术支持,得以在市场上保持长期的热度和用户基础。以下是几款在过去十年里广受好评且持续流行的内网监控软件: 1.安企神:由河北安企神网络…...
入门Java爬虫:认识其基本概念和应用方法
Java爬虫初探:了解它的基本概念与用途,需要具体代码示例 随着互联网的快速发展,获取并处理大量的数据成为企业和个人不可或缺的一项任务。而爬虫(Web Scraping)作为一种自动化的数据获取方法,不仅能够快速…...
Flask新手入门(一)
前言 Flask是一个用Python编写的轻量级Web应用框架。它最初由Armin Ronacher作为Werkzeug的一个子项目在2010年开发出来。Werkzeug是一个综合工具包,提供了各种用于Web应用开发的工具和函数。自发布以来,Flask因其简洁和灵活性而迅速受到开发者的欢迎。…...
Grafana-11.0.0 在线部署教程
Grafana-11.0.0 在线部署教程 环境: 操作系统: ubuntugrafana版本: 11.0.0 (建议不要按照最新版)grafana要求的系统配置不高,建议直接部署在监控服务器上,比如zabbix服务器、prometheus服务器…...
pytorch-01
加载mnist数据集 one-hot编码实现 import numpy as np import torch x_train np.load("../dataset/mnist/x_train.npy") # 从网站提前下载数据集,并解压缩 y_train_label np.load("../dataset/mnist/y_train_label.npy") x torch.tensor(y…...
梦想CAD二次开发
1.mxdraw简介 mxdraw是一个HTML5 Canvas JavaScript框架,它在THREE.js的基础上扩展开发,为用户提供了一套在前端绘图更为方便,快捷,高效率的解决方案,mxdraw的实质为一个前端二维绘图平台。你可以使用mxdraw在画布上绘…...
Eureka的介绍与使用
Eureka 是 Netflix 开源的一款服务注册与发现组件,在微服务架构中扮演着重要的角色。 一、Eureka 的介绍 工作原理 服务注册:各个微服务在启动时,会向 Eureka Server 发送注册请求,将自身的服务名、实例名、IP 地址、端口等信息注…...
ChatGPT之母:AI自动化将取代人类,创意性工作或将消失
目录 01 AI取代创意性工作的担忧 1.1 CTO说了啥 02 AI已开始大范围取代人类 01 AI取代创意性工作的担忧 几天前的采访中,OpenAI的CTO直言,AI可能会扼杀一些本来不应该存在的创意性工作。 近来一篇报道更是印证了这一观点。国外科技媒体的老板Miller用…...
iOS 18.2提前发布:AI深化、RCS集成与开发者适配全解析
1. 项目概述:一次不寻常的OTA更新如果你是苹果生态的深度用户,或者是一名移动应用开发者,那么最近一周你的神经可能被一条消息牵动着:苹果公司一反常态,将原定于2025年初推送的iOS 18.2操作系统,提前到了今…...
手把手教你用C语言写一个Linux文件监控工具:基于fanotify的实战教程
从零构建Linux文件监控工具:fanotify深度实践指南 1. 为什么选择fanotify而非inotify? 在Linux系统监控领域,inotify曾是文件监控的事实标准,但它在现代安全需求面前逐渐显露出局限性。fanotify作为内核2.6.36引入的增强机制&…...
STM32驱动ATK-4.3寸屏避坑指南:用FSMC模拟8080时序,告别花屏和卡顿
STM32驱动ATK-4.3寸屏实战:FSMC模拟8080时序的深度优化 当你在STM32项目中使用ATK-4.3寸TFTLCD时,是否遇到过屏幕闪烁、显示错位或者刷新率低下的问题?这些常见痛点往往源于对NT35510驱动器时序理解不够深入或FSMC配置不当。本文将带你从硬件…...
基于ChatGPT与智能音箱的AI语音助手:桥接架构与本地化部署实践
1. 项目概述:当智能音箱“学会”了思考最近在折腾一个挺有意思的项目,叫“ChatGPT-OpenAI-Smart-Speaker”。简单来说,就是让一个普通的智能音箱,比如亚马逊的Echo或者谷歌的Home,接入ChatGPT这类大型语言模型的能力。…...
ESP32无代码物联网开发:WipperSnapper实战指南
1. 项目概述:当ESP32遇上无代码物联网如果你手头有一块ESP32-S2或ESP32-S3开发板,想快速做个物联网小项目,比如远程控制个LED灯,或者把家里的温湿度数据传到网上看看,但一看到要写代码、配网络、调API就头疼࿰…...
高效自动化病理图像分析:QuPath多通道批处理技术深度解析
高效自动化病理图像分析:QuPath多通道批处理技术深度解析 【免费下载链接】qupath QuPath - Open-source bioimage analysis for research 项目地址: https://gitcode.com/gh_mirrors/qu/qupath 在数字病理学和生物图像分析领域,研究人员经常面临…...
Dify数据库插件:让AI应用实时连接MySQL/PostgreSQL数据源
1. 项目概述:一个为Dify注入数据库灵魂的插件如果你正在使用Dify构建AI应用,并且发现你的智能体或工作流需要与数据库进行实时、动态的交互——比如根据用户查询实时检索产品库存、基于对话历史更新用户偏好,或者让AI自动整理分析数据库中的报…...
凡亿AD22--AD原理图常用设计快捷键汇总
一、前言快捷键是提升AD原理图设计效率的核心工具——熟练使用快捷键可大幅压缩设计时间(如原本5-6秒的菜单操作,快捷键可1秒完成)。本节课重点讲解原理图常用快捷键的分类、自定义方法,以及如何获取现成的快捷键汇总资源…...
Tiger项目:为AI智能体构建通用工具生态,解决LLM应用“最后一公里”难题
1. 项目概述:为AI智能体装上“神经连接” 如果你正在构建或使用基于大语言模型(LLM)的AI智能体(Agent),比如用CrewAI、LangChain或AutoGen搭建工作流,那么你肯定遇到过这个核心痛点:…...
Timepix4混合像素探测器系统与DataPix4框架解析
1. Timepix4混合像素探测器系统概述Timepix4作为CERN Medipix合作组研发的第四代混合像素探测器ASIC,代表了当前粒子探测领域的最前沿技术。这款芯片采用65nm CMOS工艺制造,核心是一个由448512个像素组成的矩阵,每个像素尺寸为5555μm&#x…...
