Mysql 行格式 innodb_default_row_format 可以配置那些值, 有什么区别

在MySQL中,innodb_default_row_format选项指定了InnoDB表创建时的默认行格式。这个设置对于新创建的表非常重要,因为它影响了数据的存储方式、空间利用率和性能。innodb_default_row_format可以配置为以下几个值,每个值代表不同的行格式:

可配置的值及其区别

  1. Redundant

    • 这是早期版本的InnoDB行格式,默认使用在MySQL 5.0及更早版本中。
    • 它提供了最基本的特性集合,但在空间利用率和性能方面并不是最优的。
    • Redundant行格式支持较小的最大行大小和较少的数据类型优化。
  2. Compact

    • 从MySQL 5.0版本引入,是一个比Redundant更高效的行格式,旨在改进空间利用率。
    • 它减少了头信息的尺寸,并采用了更高效的方式存储NULL值和可变长度字段。
    • 对于许多应用而言,Compact是一个好的默认选择,因为它提供了较好的空间效率而不牺牲太多性能。
  3. Dynamic

    • 在MySQL 5.7.9及以后版本中,Dynamic成为了默认的行格式。
    • 它解决了Compact格式中一些限制,特别是关于BLOB和TEXT类型字段的更高效存储。在Dynamic格式中,这些类型的字段只在行中存储20字节的指针,实际数据存储在外部页面。
    • Dynamic行格式提供了更好的空间利用率,特别是对于包含大量BLOB或TEXT字段的表。
  4. Compressed

    • Compressed行格式允许对整行数据进行压缩,进一步节省存储空间。
    • 它特别适用于那些磁盘空间成本高昂或者需要存储大量历史数据的环境。
    • 使用Compressed格式可能会对CPU资源产生额外负担,因为需要在读写时进行压缩和解压缩操作。

选择合适的行格式

选择哪种行格式取决于具体的应用需求。DynamicCompressed格式在空间利用率方面提供了显著的优势,特别是对于包含大量长文本或BLOB字段的表。然而,Compressed格式可能会引入一定的性能开销。对于大多数应用,Dynamic行格式提供了一个很好的平衡点,特别是在MySQL 5.7.9及以后版本中,它成为了默认选择。

配置方法

在MySQL中,你可以通过几种方式查询默认的行格式(row format)。默认的行格式是指当你创建一个新表且没有指定行格式时,MySQL所使用的行格式。下面介绍两种常见的方法来查询默认行格式:

    1. 查看全局变量

MySQL允许你通过查询全局系统变量来了解当前的默认行格式。你可以使用以下SQL命令查询默认的行格式:

SHOW VARIABLES LIKE 'innodb_default_row_format';

这条命令会返回innodb_default_row_format变量的值,该值表示InnoDB存储引擎默认使用的行格式。可能的返回值包括RedundantCompactDynamic等。

    1. 查看服务器配置文件

MySQL的默认行格式也可以在服务器的配置文件(通常是my.cnfmy.ini,具体取决于你的操作系统)中进行设置和查看。在配置文件中搜索innodb_default_row_format这一行。例如:

[mysqld]
innodb_default_row_format=dynamic

如果在配置文件中设置了该参数,它将决定默认的行格式。请注意,更改配置文件需要重启MySQL服务器才能生效。

  • 附加信息

  • MySQL版本的影响:不同版本的MySQL可能有不同的默认行格式设置。例如,在MySQL 5.7.9及以后版本中,默认行格式是DYNAMIC

  • 修改默认行格式:你可以通过修改配置文件或设置全局变量的方式来更改默认的行格式,但请注意更改默认行格式可能会影响新创建表的性能和存储效率。

  • 表级行格式设置:即使更改了默认行格式,你仍然可以在创建表时通过ROW_FORMAT选项指定特定表的行格式,这将覆盖全局默认设置。

查询和了解默认的行格式对于数据库设计和性能优化是很有帮助的,尤其是在处理大量数据和需要优化存储空间时。

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

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

相关文章

【计算机网络】计算机网络的性能指标

计算机网络的性能指标被用来从不同方面度量计算机网络的性能。常用的八个计算机网络性能指标:速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率、丢包率。 一.速率 (1) 数据量 比特(bit,记为小写b)是计算机中数据量的基…

python使用mongo操作

目前有个需求,就是把所有sql转为mongo管道查询 知识点 在 MongoDB 中,allowDiskUse 选项应该作为聚合命令的一个选项,而不是聚合管道的一个阶段。allowDiskUse 选项用于允许聚合操作使用磁盘空间来临时存储数据(当聚合操作的数据…

力扣顺序表思路讲解

本篇文章,我给大家带来的是顺序表题目讲解,希望大家看完有所收获,废话不多说,我们现在开始 审题 大白话:给了一个数组和一个目标值。如果数组里的两个元素相加 目标值,则返回这两个元素的下标。那么大家需…

java编程中,实现分页对象的类型转换

一、背景 当数据库分页查询返回的对象与接口要返回的对象类型不一致时&#xff0c;不可避免需要进行类型转换。 示例&#xff1a;数据库分页查询返回的对象是PageDTO&#xff0c;而接口返回的对象类型是PageVO。 PageDTO Data public class PageDTO<T> {/*** Current…

Python专题:一、安装步骤

1、下载地址&#xff1a;Welcome to Python.org 勾选这个add 其他的全部下一步即可。 运行出现这个即代表安装成功。 Python自带编辑器。 2、推荐使用的sublime 编辑器下载 全部下一步安装。

C++ 函数与指针

函数内部数据是地址需要传递给调用函数&#xff0c;返回的当然是指针了&#xff01;当然&#xff0c;这个返回地址也可以通过函数参数返回&#xff01; 函数的参数是指针可以输出函数多个结果&#xff0c;返回值本身就是返回数据&#xff0c;什么时候需要返回指针呢&#xff1f…

Spring从零开始学使用系列(五)--Bean定义继承与容器扩展点

1.引言 Spring框架因其强大的依赖注入和灵活的配置管理而广受欢迎。Bean定义继承和容器扩展点是其提供的两个核心特性&#xff0c;它们为开发者在维护大型应用时提供了极大的便利。本文旨在详细探讨这些特性的工作原理和实际应用&#xff0c;帮助开发者更好地理解和利用这些高级…

学习记录之数学表达式(4)

文章目录 八、min 与 argmin8.1 min8.2 argmin8.3 作业 九、累加、累乘与积分9.1 累加9.2 累乘9.3 定积分9.4 作业 八、min 与 argmin min 和 argmin 在机器学习中常用&#xff1b;max 和argmax 同理&#xff1b; 8.1 min min 是 minimal 的缩写&#xff0c;用于获得集合中的…

5.6代码

1.最大公约数 这个题最重要的是要找到一个区间是1&#xff0c;找到之后就可以直接加次数就可以了 #include <bits/stdc.h>using namespace std;main() {long long n,i,j,a0,b,ans99999;cin>>n;long long s[n],dp[n][n];for(i0;i<n;i){cin>>s[i];if(s[i]1…

sorted_numbers = numbers_int.sort()对不对??不对!!!

不对&#xff0c;numbers_int.sort() 方法会直接修改 numbers_int 列表&#xff0c;并且它不返回任何值&#xff08;在 Python 中&#xff0c;对列表的原地修改方法通常返回 None&#xff09;。因此&#xff0c;将 numbers_int.sort() 的结果赋值给 sorted_numbers 变量会导致 …

238. 除自身以外数组的乘积/41. 缺失的第一个正数

238. 除自身以外数组的乘积 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&a…

shell常用文件处理命令

1. 解压 1.1 tar 和 gz 文件 如果你有一个 .tar 文件,你可以使用以下命令来解压: tar -xvf your_file.tar在这个命令中,-x 表示解压缩,-v 表示详细输出(可选),-f 后面跟着要解压的文件名。 如果你的 .tar 文件同时被 gzip 压缩了(即 .tar.gz 文件),你可以使用以下…

黑马程序员HarmonyOS4+NEXT星河版入门到企业级实战教程笔记

HarmonyOS NEXT是纯血鸿蒙&#xff0c;鸿蒙原生应用&#xff0c;彻底摆脱安卓 本课程是基于harmony os4的&#xff0c;与next仅部分api有区别 套件 语言&框架 harmony os design ArkTs 语言 ArkUI 提供各种组件 ArkCompiler 方舟编译器 开发&测试 DevEco Studio 开发…

Vue3工程化配置

Vue3工程化配置 目录 Vue3工程化配置创建项目vue-clivite(推荐) 快速体验2和3的差别vue3vue2 ref和reactive 创建项目 vue-cli 具体环境配置请点这里 记得新建配置时这里选vue3 vite(推荐) 注&#xff1a;Vite 需要 Node.js 版本 18&#xff0c;20 1.选定路径后再cmd输入创建…

免费在线录屏、无需注册、免费可用、无限制

免费在线工具 https://orcc.online/ 在线录屏 https://orcc.online/recorder pdf在线免费转word文档 https://orcc.online/pdf 时间戳转换 https://orcc.online/timestamp Base64 编码解码 https://orcc.online/base64 URL 编码解码 https://orcc.online/url Hash(MD5/SHA…

羊大师解读,当代年轻人焦虑应对指南

羊大师解读&#xff0c;当代年轻人焦虑应对指南 当代年轻人面临焦虑问题时&#xff0c;羊大师提出以下综合建议&#xff0c;要增强自我认知了解自身的需求和期望&#xff0c;明确自己的价值观和目标。这有助于避免盲目跟风和过度比较&#xff0c;从而减轻不必要的焦虑。 合理规…

apk反编译修改教程系列---修改指定apk 让其开机自动打开运行【十四】

通过前面的几期反编译apk的博文 。应该初步了解反编译apk的一些常识和简单的修改步骤。在与有些工作室合作中。一些客户需要安卓机型开机自动打开运行指定的apk。这类需求常规我们都先要检查apk有没有加密 加固。然后对应修改其中的代码。今天以一款apk实例步骤演示修改的过程 …

c++ 线程同步的临界区应用举例

在C中&#xff0c;临界区通常是通过互斥量&#xff08;mutex&#xff09;来实现的&#xff0c;因为互斥量用于保护代码段&#xff08;即临界区&#xff09;&#xff0c;以确保在任意时刻只有一个线程可以执行该代码段。然而&#xff0c;从技术上来说&#xff0c;"临界区&q…

企业怎样进行IT外包以及IT外包服务内容

在数字化时代的浪潮中&#xff0c;企业逐渐认识到信息技术的关键作用&#xff0c;特别是制造业基地对于IT外包和运维服务的需求持续增长。然而&#xff0c;在诸多可供选择的IT外包和运维方案中&#xff0c;企业如何推动与IT外包公司的合作&#xff1f;本文将深入介绍IT外包方案…

液位开关常开常闭怎么区分

如今随着科学技术的不断发展&#xff0c;液位检测技术也不断改进&#xff0c;液位开关是如今常用的液位检测技术之一&#xff0c;那么液位开关常开常闭怎么区分&#xff1f; 常开液位开关是指在没有液体存在的情况下就处于导通状态。当液体液面上升到液位开关处时&#xff0c;…