MySQL 通用表空间的这几个选项你会用么?

第五阶段【MySQL数据库:内存和磁盘管理】08:通用表空间 通用表空间 阅读详情

在 MySQL 数据库中有效管理存储和性能至关重要,通用表空间为实现这一目标提供了灵活性。本文讨论通用表空间并探讨其功能、优点和实际用法,并附有说明性示例。

什么是通用表空间?

与默认保存系统表的单个系统表空间不同,通用表空间是用户定义的多个 InnoDB 表的存储容器。与默认设置相比,它们在数据组织和性能优化方面提供了灵活性。

主要特征

  • 多表存储: 与将每个表存储在单独的文件中的独立表空间不同,通用表空间可以容纳大量的表,从而提高存储效率。
  • 灵活的位置: 数据文件可以驻留在 MySQL 的 data 目录或独立位置,从而可以更好地控制存储管理和性能调整。
  • 支持所有表格式: 通用表空间可容纳所有 InnoDB 表格式,包括冗余、紧凑、动态和压缩行格式,为特定需求提供灵活性。
  • 内存优化: 与每个表多个文件的表空间相比,共享表空间元数据减少了内存消耗。

使用通用表空间的好处

  • 提高性能: 有策略地将数据文件放置在更快的磁盘上或将表分布在多个磁盘上可以显着提高性能。
  • RAID 和 DRBD 集成: 数据文件可以放置在 RAID 或 DRBD 卷上,以增强数据冗余和灾难恢复。
  • 加密支持: MySQL 支持通用表空间加密,增强数据的安全性。
  • 方便的表管理: 通用表空间允许您将多个表分组在一起,从而更轻松地管理和组织数据库对象。

创建和管理通用表空间

可以使用 CREATE TABLESPACE 语句创建通用表空间,并指定数据文件位置和引擎选项。

创建通用表空间涉及几个简单的步骤。下面的 CREATE TABLESPACE 语句使用指定的数据文件 general_tablespace.ibd 创建一个名为 my_general_tablespace 的新表空间。此外,它还使用选项 ENCRYPTION='Y' 启用表空间加密,并使用 FILE_BLOCK_SIZE = 16384 选项设置文件块大小。

让我们创建一个名为 my_general_tablespace 的通用表空间:

 mysql> CREATE TABLESPACE my_general_tablespace
    -> ADD DATAFILE 'general_tablespace.ibd'
    -> ENCRYPTION='Y'
    -> FILE_BLOCK_SIZE = 16384;
ERROR 3185 (HY000): Can't find master key from keyring, please check in the server log if a keyring is loaded and initialized successfully.
mysql>


mysql> pager grep -i keyring_file;
PAGER set to 'grep -i keyring_file'

mysql> SHOW PLUGINS;
50 rows in set (0.00 sec)

mysql> INSTALL PLUGIN keyring_file SONAME 'keyring_file.so';
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW PLUGINS;
| keyring_file                     | ACTIVE   | KEYRING            | keyring_file.so | GPL     |
50 rows in set (0.00 sec)

mysql> CREATE TABLESPACE my_general_tablespace
    -> ADD DATAFILE 'general_tablespace.ibd'
    -> ENCRYPTION='Y'
    -> FILE_BLOCK_SIZE = 16384;
Query OK, 0 rows affected (0.01 sec)

mysql>

现在,让我们看看如何在数据目录之外创建通用表空间。

root@mysql8:/var/lib# mkdir mysql_user_defined
root@mysql8:/var/lib# chown -R mysql.mysql mysql_user_defined
root@mysql8:/var/lib#

mysql> CREATE TABLESPACE user_defined_general_tablespace
    -> ADD DATAFILE '/var/lib/var/lib/mysql_user_defined/user_defined_general_tablespace.ibd'
    -> Engine=InnoDB;
ERROR 3121 (HY000): The DATAFILE location must be in a known directory.

错误 3121 (HY000):数据文件位置必须位于已知目录中。 提示 MySQL 无法在指定目录中创建表空间,因为该目录未配置为数据文件的有效位置。

要解决此错误,请按照下列步骤操作: 使用 SHOW VARIABLES LIKE 'innodb_directories' 检查配置的目录;如果 /var/lib/mysql_user_define 未列出,请继续添加该目录。

mysql> SHOW VARIABLES LIKE 'innodb_directories';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| innodb_directories |       |
+--------------------+-------+
1 row in set (0.00 sec)

root@mysql8:/etc/mysql/mysql.conf.d# grep -i innodb_directories mysqld.cnf
innodb_directories=/var/lib/mysql_user_defined
root@mysql8:/etc/mysql/mysql.conf.d# service mysql restart
root@mysql8:/etc/mysql/mysql.conf.d

mysql> CREATE TABLESPACE user_defined_general_tablespace
    -> ADD DATAFILE '/var/lib/mysql_user_defined/user_defined_general_tablespace.ibd'
    -> Engine=InnoDB;
Query OK, 0 rows affected (0.02 sec)

将表分配给通用表空间

创建 MySQL 通用表空间后,您可以在表创建过程中或通过更改现有表为其分配表。以下是在 my_general_tablespace 中创建表的示例:

mysql> CREATE TABLE my_table (
    ->     id INT PRIMARY KEY,
    ->     name VARCHAR(50)
    -> ) TABLESPACE = my_general_tablespace;
ERROR 3825 (HY000): Request to create 'unencrypted' table while using an 'encrypted' tablespace.
mysql>

mysql> CREATE TABLE my_table (
    ->     id INT PRIMARY KEY,
    ->     name VARCHAR(50)
    -> ) TABLESPACE = my_general_tablespace
    ->   ENCRYPTION='Y';
Query OK, 0 rows affected (0.02 sec)

我们创建的 user_define_general_tablespace 未加密,允许我们在其中创建未加密的表。

mysql> CREATE TABLE my_unencrypted_table(
    -> id INT PRIMARY KEY,
    -> name VARCHAR(50)
    -> ) TABLESPACE = user_defined_general_tablespace;
Query OK, 0 rows affected (0.01 sec)

将表迁移到通用表空间

如果您有现有表并希望将它们移动到通用表空间,则可以使用 ALTER TABLE 语句。例如:

mysql> show create table authorsG
*************************** 1. row ***************************
       Table: authors
Create Table: CREATE TABLE `authors` (
  `id` int DEFAULT NULL,
  `first_name` varchar(50) DEFAULT NULL,
  `last_name` varchar(50) DEFAULT NULL,
  `age` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)

mysql> ALTER TABLE authors
    -> TABLESPACE = my_general_tablespace;
ERROR 3825 (HY000): Request to create 'unencrypted' table while using an 'encrypted' tablespace.

mysql> ALTER TABLE authors ENCRYPTION='Y';
Query OK, 0 rows affected (0.05 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> ALTER TABLE authors
    -> TABLESPACE = my_general_tablespace;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql>

要将表从通用表空间转移到独立表空间,请指定 “innodb_file_per_table” 作为目标表空间名称。

mysql> ALTER TABLE authors
    -> TABLESPACE = innodb_file_per_table ENCRYPTION = 'Y';
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

监控

该查询检索指定 MySQL 表空间的信息,包括表空间名称、文件名、存储引擎、状态和可用的空闲数据空间。

mysql> SELECT TABLESPACE_NAME, FILE_NAME, ENGINE, STATUS, DATA_FREE FROM INFORMATION_SCHEMA.FILES WHERE TABLESPACE_NAME IN ('my_general_tablespace',
'user_defined_general_tablespace')G
*************************** 1. row ***************************
TABLESPACE_NAME: my_general_tablespace
      FILE_NAME: ./general_tablespace.ibd
         ENGINE: InnoDB
         STATUS: NORMAL
      DATA_FREE: 0
*************************** 2. row ***************************
TABLESPACE_NAME: user_defined_general_tablespace
      FILE_NAME: /var/lib/mysql_user_defined/user_defined_general_tablespace.ibd
         ENGINE: InnoDB
         STATUS: NORMAL
      DATA_FREE: 0
2 rows in set (0.00 sec)

以下查询有助于查找有关属于指定表空间的 InnoDB 表的信息。

mysql> SELECT NAME, SPACE_TYPE, TABLESPACE_NAME from INFORMATION_SCHEMA.INNODB_TABLES JOIN INFORMATION_SCHEMA.FILES ON FILE_ID=SPACE WHERE TABLESPACE_NAME='my_general_tablespace'G
*************************** 1. row ***************************
           NAME: mytestdb/my_table
     SPACE_TYPE: General
TABLESPACE_NAME: my_general_tablespace
*************************** 2. row ***************************
           NAME: mytestdb/books
     SPACE_TYPE: General
TABLESPACE_NAME: my_general_tablespace
2 rows in set (0.01 sec)

要检索特定 InnoDB 表的 TABLESPACE 信息,请使用以下查询。

mysql> SELECT NAME, SPACE_TYPE, TABLESPACE_NAME from INFORMATION_SCHEMA.INNODB_TABLES JOIN INFORMATION_SCHEMA.FILES ON FILE_ID=SPACE WHERE NAME='mytestdb/my_table'G
*************************** 1. row ***************************
           NAME: mytestdb/my_table
     SPACE_TYPE: General
TABLESPACE_NAME: my_general_tablespace
1 row in set (0.00 sec)

实际使用示例:

  • 将频繁访问和很少使用的表进行分离:将频繁访问的表放置在 SSD 上的通用表空间中,以获得卓越的性能,同时将很少使用的表放置在基于 HDD 的通用表空间中,以优化存储成本。
  • 平衡 I/O 负载:将表分布在位于不同磁盘上的多个通用表空间中,以避免I/O瓶颈并提高查询执行速度。
  • 关键数据的专用存储:为关键表创建具有 RAID 或 DRBD 配置的独立通用表空间,确保最大程度的冗余并防止硬件故障。

结论

MySQL 通用表空间提供了强大而灵活的存储解决方案,用于优化数据组织和性能,了解其功能并有效部署它们可以显着改善您的数据库管理工作。为了最大限度地发挥其优势,请记住在实施通用表空间之前仔细考虑您的特定需求和工作负载特征。

更多技术文章,请访问:https://opensource.actionsky.com/

关于 SQLE

SQLE 是一款全方位的 SQL 质量管理平台,覆盖开发至生产环境的 SQL 审核和管理。支持主流的开源、商业、国产数据库,为开发和运维提供流程自动化能力,提升上线效率,提高数据质量。

SQLE 获取

类型地址
版本库https://github.com/actiontech/sqle
文档https://actiontech.github.io/sqle-docs/
发布信息https://github.com/actiontech/sqle/releases
数据审核插件开发文档https://actiontech.github.io/sqle-docs/docs/dev-manual/plugins/howtouse
基于COMSOL电弧动态仿真模型优化:高收敛性可修改吹弧方案解析 在多物理场耦合分析中,电弧动态仿真历来是数值稳定性的难点:温度从室温跃升至数万开尔文,电导率随温度呈数量级跳变,流动、传热与电磁场相互牵制,极易引发求解器不收敛或初始值不一致等问题。如何构建高收敛性的数值模型,成为开关设备灭弧性能优化的重要技术基础。通过合理的几何简化、全耦合求解器配置、辅助扫描初始化策略以及参数化建模手段,可以实现对吹弧方案的灵活调整与批量寻优,从而系统性评估气流速度、喷口形状、触头间距等关键因素对熄弧性能的影响。这类仿真方法广泛应用于断路器、接触器等高压电器产品研发,为灭弧室结构设计提供 阅读详情

相关推荐

抖音直播参数逆向实战:手把手教你用Python获取ttwid和x-bogus(附完整代码)

本文深入解析抖音直播接口的反爬机制,重点剖析核心防护参数ttwid和x-bogus的生成原理与作用。通过Python实战,手把手教你逆向获取ttwid、webid等关键参数,并构建稳定的数据采集方案,为开发者提供企业级数据获取能力。

weixin_29196891的博客 1043

MySQL数据库从入门到实战课

限时福利1:购课进答疑群专享柳峰(刘运强)老师答疑服务。 为什么说每一个程序员都应该学习MySQL? 根据《2019-2020年中国开发者调查报告》显示,超83%的开发者都在使用MySQL数据库。 使用量大同时,掌握MySQL早已是运维、DBA的必备技能,甚至部分IT开发岗位也要求对数据库使用和原理有深入的了解和掌握。学习编程,你可能会犹豫选择 C++ 还是 Java;入门数据科学,你可能会纠结于选择 Python 还是 R;但无论如何, MySQL 都是 IT 从业人员不可或缺的技能! 【课程设计】 在本课程中,刘运强老师会结合自己十多年来对MySQL的心得体会,通过课程给你分享一条高效的MySQL入门捷径,让学员少走弯路,彻底搞懂MySQL。 本课程包含3大模块:  一、基础篇: 主要以最新的MySQL8.0安装为例帮助学员解决安装与配置MySQL的问题,并对MySQL8.0的新特性做一定介绍,为后续的课程展开做好环境部署。 二、SQL语言篇: 本篇主要讲解SQL语言的四大部分数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL,学会熟练对库表进行增删改查等必备技能。 三、MySQL进阶篇: 本篇可以帮助学员更加高效的管理线上的MySQL数据库;具备MySQL的日常运维能力,语句调优、备份恢复等思路。  

利用ENVI处理TIF文件,把多个tif整合到一个完整的tif,例如2003-2011年的tif整合到一个tif上。

利用ENVI处理TIF文件,把多个tif整合到一个完整的tif,例如2003-2011年的tif整合到一个tif上。

unique_sir的博客 1万+

mysql8数据文件_MySQL 8.0.21中新的数据文件位置一致性

作者:Kevin Lewis 译:徐轶韬在MySQL 8.0中创建常规表空间时,可以选择创建关联数据文件的目录。CREATE TABLESPACE tablespace_name ADD DATAFILE ‘/my/table/space/dir’;InnoDB必须知道该目录。目录由以下变量定义:datadir,innodb_data_home_dir,innodb_undo_directory和...

weixin_39929259的博客 629

从零到一:基于GeneMark-ES/ET的新基因组注释实战指南

本文提供了一份基于GeneMark-ES/ET的新基因组注释实战指南。详细介绍了从环境搭建、数据准备到核心运行的全流程,重点解析了ES(从头预测)与ET(结合RNA-Seq证据)两种模式的选择与操作,并分享了Perl模块依赖、并行处理等常见问题的解决方案,帮助生物信息学研究者高效完成基因预测工作。

weixin_29266647的博客 209

STC8G1K08A 实战应用:从配置到功能实现

本文详细介绍了STC8G1K08A单片机的实战应用,从开发环境搭建、GPIO配置、ADC模块使用到定时器中断处理和PWM输出等核心功能。重点讲解了外设模块的协同工作配置技巧,并分享了实际项目开发中的经验教训,帮助开发者快速掌握STC8G1K08A的高效应用。

n4o5p6q7r的博客 390

MySQL如何创建外部表

MySQL如何创建外部表 本文实验版本MySQL 8。 MySQL中所谓的外部表,就是将innodb表创建在变量datadir代表的数据目录之外。(跟Oracle外部表完全不是一个东西) 出于扩容,空间管理,IO优化等原因。 这里可以使用如下3种方式创建外部表: 使用 DATA DIRECTORY 子句 使用 CREATE TABLE ... TABLESPACE 语法 在外部通用表...

PiscesCanon的博客 331

具身机器人内部PCB板分类与系统架构详解

本文系统梳理了机器人内部PCB板的功能架构,将其划分为5大模块:1)核心主板(含主控计算机板、实时控制板等);2)感知类PCB(视觉、听觉、触觉等);3)运动控制类PCB(伺服驱动、编码器等);4)电源与安全类PCB(电源管理、BMS等);5)通信类PCB(EtherCAT背板等)。通过人体器官类比(如大脑对应主控板、小脑对应实时控制板),详解了各模块的芯片选型、位置分布及协同关系,并给出信号/能量/指令的三流闭环示意图和典型系统参数(48V供电、1ms通信周期)。整体呈现了机器人"神经系统&qu

几十年资深高级架构师,技术专家的技术笔记。专注C、Java、Python、微服务、云原生、AI工程化及高并发系统分布式架构实战,分享源码剖析、性能调优与架构治理经验。 318

mysql 表空间加密_MySQL InnoDB表空间加密

从 MySQL5.7.11开始,MySQL对InnoDB支持存储在单独表空间中的表的数据加密 。此功能为物理表空间数据文件提供静态加密。该加密是在引擎内部数据页级别的加密手段,在数据页写入文件系统时加密,加密用的是AES算法,而其解密是在从文件读到内存中时进行。1 配置加密插件1.1 修改配置文件在mysql配置文件【mysqld】x项中添加如下内容plugin_dir=/usr/local/m...

weixin_27256197的博客 556

从战略到执行:业务领先模型 BLM 的第一把钥匙「差距分析」

业务领先模型「BLM」(Business Leadership Model),俗称“别乱摸”,起源于哈佛商学院的战略理论研究,是一套完整的战略规划方法论。 后来被 IBM 发扬光大,IBM 在转型关键时期完成了对 BLM 模型的导入和创新,从此这个模型成为 IBM 中高层用于战略制定与执行联接的方法与平台。 再到后来华为花巨资引入了 BLM 模型,经过多年的应用,将其演化成了公司战略规划和落地的主要方法与流程,也因此被中国科技企业所认识和接受。 BLM 模型可以解决哪些问题? 在企业内,

产品线负责人 2400

华为s110、s220、s310、s530、s620 配置ssh,配置web登录

在服务器端创建SSH用户。

送个祝福给小豪的博客 317

052试题 140 - data block

题目: 140. Identify two situations in which the block header grows in a data block. (Choose two.) A.when row directories need more row entries B.when there is row migration in the data block C.when the...

文档搬运工 557

北斗导航 | 卫星信号捕获跟踪原理解析

卫星信号的捕获与跟踪是导航接收机的"眼睛",其性能直接决定定位精度、动态适应性和抗干扰能力。随着北斗三号全球组网完成,新一代接收机正朝着。两大核心阶段,二者共同构成定位的基础。调制,频谱主瓣宽度达4.092MHz,较传统BPSK调制抗干扰能力提升3dB[38]。的目标持续演进,在自动驾驶、精密农业等领域展现出巨大应用潜力。二维空间中搜索峰值相关能量[4]。卫星导航接收机对信号的处理可分为。北斗三号B1C/B2a信号采用。北斗三号新增的B1C信号采用。

尘世冰封的专栏 772

MySQL通用表空间:高效管理秘籍

MySQL通用表空间(General Tablespaces)详解 通用表空间是InnoDB提供的共享存储空间,允许将多个表存储在同一个.ibd文件中。相比独立表空间,它具备以下优势: 节省资源:减少文件句柄和内存元数据消耗 灵活管理:支持自定义存储路径、压缩表等高级功能 集中控制:便于对重要表进行统一性能管理 适用场景包括: 管理大量小表 将关键表集中存储在SSD等高性能设备 实现压缩表存储 主要限制: 不支持临时表、分区表(8.0.13+)和表空间传输 删除表不会释放空间给操作系统

m0_37607945的博客 806

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

MySQL 8.0 InnoDB Tablespaces之General Tablespaces(通用表空间/一般表空间)

【免责声明】文章仅供学习交流,观点代表个人,与任何公司无关。编辑|SQL和数据库技术(ID:SQLplusDB)

SQLplusDB的小院 2001

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【mysql进阶】4-7. 通用表空间

✅ 解答问题通⽤表空间是使⽤ CREATE tablespace 语法创建的共享InnoDB表空间通⽤表空间能够存储多个表的数据,与系统表空间类似也是共享表空间;服务器运⾏时会把表空间元数据保存在内存中,在表的数量相同的情况下,通⽤表空间⽐独⽴表空间的数量更少,所以消耗的内存也就更少;数据⽂件可以放置在数据⽬录或数据⽬录之外的其他位置,对于单独管理关键表⾮常有⽤;⽀持所有的表格式和⾏格式的相关特性;

zxj20041003的博客 1174

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

9. InnoDB通用表空间

9. InnoDB通用表空间 通用表空间是InnoDB 使用CREATE TABLESPACE语法创建的共享表空间。本节中的以下主题描述了常规表空间功能和功能: 通用表空间功能 创建通用表空间 将表添加到通用表空间 通用表空间行格式支持 使用ALTER TABLE在表空间之间移动非分区表 通用表空间表分区支持 使用ALTER TABLE在表空间之间...

dbtrd733355的博客 176

【InnoDB磁盘结构2】通用表空间,临时表空间

我先不说太多,我们先看个例子use db1;-- 创建部门表-- 创建员工表(包含关联部门表的id)-- 向部门表插入数据('技术部'),('市场部'),('财务部'),('人力资源部');-- 向员工表插入数据('张三', 1, 15000.00, '2020-03-15'),('李四', 2, 12000.50, '2021-07-22'),('王五', 3, 18000.75, '2019-11-30'),

2301_80224556的博客 1340

InnoDB 存储引擎<七>通用表空间+临时表空间

通用表空间和临时表空间

Miwll的博客 1251

mysql通用表空间特点_浅谈mysql中各种表空间(tablespaces)的概念

浅谈mysql中各种表空间(tablespaces)的概念发布时间:2020-08-10 04:12:24来源:ITPUB博客阅读:128作者:sqyslmysql中,会涉及到各种表空间的概念,虽然,很多方面这些概念和Oracle有相似性,但也有很多不同的地方,初学者很容易被这些概念弄的晕头转向,从而,混淆这些概念的区别和理解,下面,就简要介绍和说明一下这些表空间的概念。1.系统表空间(Syste...

weixin_39644377的博客 582

MySQL通用表空间

查看库中存在哪些通用表空间: mysql> select * from information_schema.INNODB_SYS_TABLESPACES where SPACE_TYPE='General'; +-------+------+------+-------------+------------+-----------+---------------+------------+---------------+-----------+----------------+ | SPACE |

xiaozuo2011925的博客 241

mysql 表空间收缩_mysql通用表空间(general tablespace)

通用表空间常规表空间是InnoDB 使用CREATE TABLESPACE语法创建的共享表空间。本节的以下主题描述了常规表空间功能和特性:常规表空间功能常规表空间功能提供以下功能:类似于系统表空间,常规表空间是共享表空间,可以存储多个表的数据。常规表空间比每表文件表空间具有潜在的内存优势 。服务器在表空间的生存期内将表空间元数据保留在内存中。与单独的每表文件表空间中的相同数量的表相比,较少的常规表...

weixin_36068199的博客 567

mysql部分概念解答(索引、事务数据字典、MVCC、单表文件表空间与通用表空间、元数据、重做日志和还原日志)

在学习mysql的过程中,为了更好的理解其架构,下面我将对其中部分易混淆的概念进行解答。

2301_79893878的博客 1388

【MySQL进阶】了解linux操作系统下mysql的配置文件和常用选项

本文详细介绍了Linux下MySQL的配置选项,涵盖了MySQL程序的基本组成、mysqld与mysql客户端的功能及常用选项、以及选项配置文件的使用方法。文中解释了如何通过命令行和配置文件进行MySQL的配置,包括如何指定数据库、执行查询语句、以及配置文件的读取顺序和语法规则。此外,还介绍了如何通过配置文件自动应用常用选项,以及如何使用!includedir动态加载目录下的配置文件。本文适合对Linux下MySQL配置感兴趣或需要深入理解MySQL配置选项的读者

GGBond778的博客 2786

【MySQL 5.7 Reference Manual】15.4.10 General Tablespaces(通用表空间)

一个共享的InnoDB表空间,通过CREATE TABLESPACE语句创建。通用表空间可以被创建在MySQL数据目录外,它可以容纳多个表,并支持表的全部行格式。通用表空间在MySQL 5.7.6中被引入。

MountEtna 555

【MySQL精通之路】InnoDB(9)-表和页压缩(1)-表压缩

由于处理器和高速缓冲存储器的速度比磁盘存储设备更快,因此许多工作负载都是磁盘有关的。数据压缩能够以提高CPU利用率的小成本实现更小的数据库大小减少I/O和提高吞吐量。压缩对于读密集型应用程序尤其有价值,因为在具有足够RAM以将频繁使用的数据保存在内存中的系统上。使用创建的InnoDB表可以在磁盘上使用比配置的innodb_page_size值更小的页面大小。较小的页面需要较少的I/O来读取和写入磁盘,这对SSD设备尤其有价值。压缩页面大小是通过或参数指定的。不同的页面大小要求将表放在FPT表空间或。

Anakki的博客 1901
上一篇: MySQL 核心模块揭秘 | 01 期 | 事务的起源:事务池和管理器的初始化
下一篇: 记一次 Redis 数据库迁移
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值