Mysql 行格式 DYNAMIC 和 COMPACT 区别

MySQL的InnoDB存储引擎提供了多种行格式,其中DYNAMIC和COMPACT是两种常见的选择。这两种行格式在处理数据时有一些关键的区别,尤其是在管理大字段(如BLOB、TEXT和大的VARCHAR字段)方面。以下是DYNAMIC和COMPACT行格式的主要区别:

  1. 大字段存储

    • DYNAMIC:在DYNAMIC行格式中,对于BLOB、TEXT和大的VARCHAR字段,只有20个字节的指针直接存储在行中,指向实际数据的位置。如果字段内容较大,它会被存储在外部的溢出页中,而不是和行的其他部分一起存储在同一个页面上。
    • COMPACT:与DYNAMIC格式相比,COMPACT行格式会尝试将更多的字段内容直接存储在行中,包括大字段的一部分(最多768字节)。只有当字段大小超过这个限制时,剩余的数据才会被存储在外部页中。
  2. 空间效率

    • DYNAMIC:由于将大部分大字段数据存储在行外,DYNAMIC行格式可以提高页的空间利用率,特别是在表中包含大量大字段时。这有助于减少页分裂,并提高缓存效率。
    • COMPACT:尽管COMPACT格式尽量减少了元数据的使用,但由于它尝试在行内存储更多数据,因此在包含大量大字段的表中,它可能不如DYNAMIC格式空间利用率高。
  3. 性能

    • DYNAMIC:对于包含大量BLOB、TEXT或大VARCHAR字段的表,DYNAMIC格式通常可以提供更好的性能。通过将这些大字段数据存储在外部,减少了主数据页的大小,提高了数据检索速度。
    • COMPACT:对于不包含大量大字段或对于这些字段的访问不频繁的表,COMPACT格式可能会表现得足够好,因为它能够在一定程度上减少对外部页的依赖。
  4. 向后兼容性

    • DYNAMIC:DYNAMIC格式是一个相对较新的引入,专为提高大字段处理的效率而设计。
    • COMPACT:COMPACT格式在较早版本的MySQL中被引入,提供了与旧版本的兼容性。

总而言之,选择哪种行格式取决于特定的应用场景和数据特征。对于包含大量BLOB、TEXT或大VARCHAR字段的表,DYNAMIC格式可能是更好的选择,因为它提供了更高的空间效率和性能优势。而对于不涉及这些大字段的表,或在兼容性是主要考虑因素的情况下,COMPACT格式可能是一个合适的选择。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【毕业设计】基于SSM的运动用品商城的设计与实现

1.项目介绍 在这个日益数字化和信息化的时代,随着人们购物习惯的转变,传统的实体商店已经无法满足人们日益增长的在线购物需求。因此,基于SSM(Spring Spring MVC MyBatis)框架的运动用品商城项目应运而生&#xff0…

最原理的一集——Mathtype公式编号设置(Mathtype7.8+Word)

版本 Mathtype7.8Office2019 Word 读完本文你将会 随心所欲,想怎么给公式编号就怎么给公式编号,想从(X.1)开始,就从(X.1)开始大概了解Mathtype公式设置原理给作者点赞 如果你想自己跟着文章做的话 请不要在自己的论文里边直接操作&#…

【6D位姿估计】数据集汇总 BOP

前言 BOP是6D位姿估计基准,汇总整理了多个数据集,还举行挑战赛,相关报告被CVPR2024接受和认可。 它提供3D物体模型和RGB-D图像,其中标注信息包括6D位姿、2D边界框和2D蒙版等。 包含数据集:LM 、LM-O 、T-LESS 、IT…

Python数据清洗与可视化实践:国际旅游收入数据分析

文章目录 概要整体流程名词解释NumPyPandasMatplotlibre 技术细节数据清洗可视化 小结 概要 在本篇博客中,我们将通过一个实际的案例,演示如何使用Python进行数据清洗和可视化,以分析国际旅游收入数据。我们将使用Python中的Pandas库来进行数…

磐石云最版本使用教程

磐石云外呼系统是一款集成了呼叫平台、电话线路和话术系统的软件,旨在提高企业的电话营销效率。以下是磐石云外呼系统的基本操作步骤: 安装和配置: 首先需要在Linux操作系统上安装磐石云外呼系统,通常需要至少4核CPU、8GB内存以及…

软件设计师-应用技术-数据库设计题2

基础知识及技巧: 1. 数据库设计过程: 四个阶段:需求分析、概念结构设计、逻辑结构设计、物理设计。每个阶段的产物: 需求分析:数据流图、数据字典、需求说明书。概念结构设计:ER模型逻辑机构设计&#xf…

设计模式之传输对象模式

在编程江湖里,有一种模式,它如同数据的“特快专递”,穿梭于系统间,保证信息的快速准确送达,它就是——传输对象模式(Data Transfer Object, DTO)。这不仅仅是数据的搬运工,更是提升系…

设置定位坐标+请按任意键继续

设置定位坐标 目的 在编程和游戏开发中,设置定位坐标的目的是为了确定对象在屏幕或游戏世界中的具体位置。坐标通常由一对数值表示,例如 (x, y),其中 x 表示水平位置,y 表示垂直位置。设置定位坐标的目的包括: 1. **精…

如何快速掌握DDT数据驱动测试?

前言 网盗概念相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离, 这样的测试脚本设计模式称为数据驱动。(网盗结束)当我们测试某个网站的登录功能时,我们往往会使用不同的用户名和密码来验证登录模块对系统的影响&#x…

软考之零碎片段记录(二十九)+复习巩固(十七、十八)

学习 1. 后缀式(逆波兰式) 2. c/c语言编译 类型检查是语义分析 词法分析。分析单词。如单词的字符拼写等语法分析。分析句子。如标点符号、括号位置等语言上的错误语义分析。分析运算符、运算对象类型是否合法 3. java语言特质 即时编译堆空间分配j…

引领智算变革,九章云极DataCanvas公司激活油气行业新质生产力

近日,“2024中国石油石化企业信息技术交流大会暨油气产业数字化转型高峰论坛”在京成功举办,九章云极DataCanvas公司携“油气行业AI智算服务全栈解决方案”震撼亮相,为油气行业数智化转型和新质生产力发展提供领先的技术视角和前瞻实战经验分…

C++手写协程项目(协程实现线程结构体、线程调度器定义,线程挂起函数、线程切换函数、线程恢复函数、线程结束函数、线程结束判断函数,模块测试)

协程结构体定义 之前我们使用linux下协程函数实现了线程切换,使用的是ucontext_t结构体,和基于这个结构体的四个函数。现在我们要用这些工具来实现我们自己的一个线程结构体,并实现线程调度和线程切换、挂起。 首先我们来实现以下线程结构体…

python安装问题及解决办法(pip不是内部或外部命令也不是可运行)

pip是python的包管理工具,使python可在cmd(命令行窗口,WinR后输入cmd)中执行 针对 “pip不是内部或外部命令也不是可运行” 问题,需要在安装的时候将python添加到环境变量中 上图第三个选项必须勾选才能在cmd中使用pi…

LLVM的ThinLTO编译优化技术在Postgresql中的应用

部分内容引用:https://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html LTO是什么? 链接时优化(Link-time optimization,简称LTO)是编译器在链接时对程序进行的一种优化。它适用于以文件为单位编译…

触摸OpenNJet,感悟云原生

小程一言 云原生使得应用充分利用云计算、容器化和微服务架构等现代技术来构建和运行应用程序。 云原生技术的用处在于提高应用程序的可靠性、可伸缩性和灵活性,加快开发和部署速度,降低成本,提升整体的效率和竞争力。通过采用云原生技术&a…

mysql使用索引。并未命中

今天在给项目看板查询语句增加索引的时候,发现了一个很有趣的问题。如下: 我这样创建索引,就可以使用,但是我另外一个查询语句,需要使用到factory_id和plan_start_date。于是我就移动了索引顺序,这样遵守左…

若依前后端分离部署nginx

1、v.sj 2、生产环境修改 3、退出登录修改 4、路由改为hash模式 5、nginx配置 location /gldhtml/ {alias D:/java/tool/nginx-1.19.6/project/jxal/html/; } location /jxal/ {proxy_pass http://localhost:8081/; }

蓝牙连接手机播放音乐的同时传输少量数据,那些蓝牙芯片可以实现呢

简介 蓝牙连接手机播放音乐的同时连接另一蓝牙芯片传输少量数据,那些蓝牙芯片可以实现呢? 这个需求,其实就是双模的需求 简单描述就是:播放音乐的同时,还可以连接ble,进行数据的传输。二者同时进行,互不…

标准IO学习

思维导图: 有如下结构体 struct Student{ char name[16]; int age; double math_score; double chinese_score; double english_score; double physics_score; double chemistry_score; double bio_score; }; 申请该结构体数组,容量为5,初始…

uniapp 应用闪退、崩溃异常日志捕获插件(可对接网络上报)插件 Ba-Crash

应用闪退、崩溃异常日志捕获插件(可对接网络上报) Ba-Crash 简介(下载地址) Ba-Crash 是一款uniapp应用闪退、崩溃异常日志捕获插件,支持对接网络上报、设置提示等等,方便对一些远程问题、原生问题进行分…