Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL 存储引擎InnoDB

MySQL 存储引擎InnoDB最佳实践

作者:JhonKI

InnoDB是一款兼顾高可靠性和高性能的通用存储引擎,在MySQL8.0中默认的存储引擎是InnoDB,这篇文章主要介绍了MySQL存储引擎InnoDB详解,需要的朋友可以参考下

InnoDB 是一款兼顾高可靠性和高性能的通用存储引擎。在MySQL8.0中默认的存储引擎是 InnoDB

使用 CREATE TABLE 语句创建表时,在没有修改默认存储引擎或明确指定其他存储引擎时,将创建一个 InnoDB 的表。

🏳️‍🌈一、InnoDB存储引擎的特性

🏳️‍🌈二、|nnoDB 的主要优势

🏳️‍🌈三、InnoDB表的最佳实践

如何利用 InnoDB 的特性实现最佳的性能

🏳️‍🌈四、验证InnoDB是否为默认存储引擎

执行 SHOW ENGINES 语句查看可用的存储引擎时,查找 SUPPORT 列的值为 DEFAULT 的行

使用 SELECT * FROM INFORMATION_SCHEMA.ENGINES \G 查看当前 MySQL 服务器支持的存储引擎及其详细信息的命令

如果InnoDB不是默认的存储引擎,可以通过在命令⾏指定选项 --default-storageengine=InnoDB
或者在选项⽂件的 [mysqld] 节点定义 default-storageengine=InnoDB重新启动服务器来设置 InnoDB 存储引擎

由于业务实际需要,服务器默认存储引擎不是InnoDB时,想要创建一个InnoDB表,可以在使用 CREATE TABLE 语句创建表时明确指定 InnoDB 存储引擎,当然这样方式也可以指定其他任何支持的存储引擎

CREATE TABLE table_name (
	... 定义字段
) ENGINE = InnoDB; # 指定存储引擎

如果想测试使用其他存储引擎表中的数据在InnoDB表中的工作情况,在确保不影响原始表的情况下,使用以下方式创建一张InnoDB表

CREATE TABLE ... ENGINE=InnoDB AS SELECT * FROM other_engine_table;

🏳️‍🌈五、创建InnoDB表

# 选择⽬标数据库
use test_db
# 创建⼀个使⽤InnoDB存储引擎的表
CREATE TABLE t_innodb (
	id int(11) PRIMARY KEY AUTO_INCREMENT,
	name varchar(20)
) ENGINE = InnoDB;

当创建一个存储引擎为 InnoDb 的表时,会在 data_dir/test_db 目录下生成一个用来存储真实数据的物理文件,命名格式为 表名.ibd

以当前为例会在 /var/lib/mysql/test_db 目录下生成一个 t_innodb.ibd 的表空间数据文件

表空间文件 t_innodb.ibd 用来存储表中的数据

这里面利用 json 格式的字符串保存了这个表的所有数据

👥总结

本篇博文对 【MySQL】存储引擎 - InnoDB详解 做了一个较为详细的介绍,不知道对你有没有帮助呢

到此这篇关于MySQL 存储引擎InnoDB详解的文章就介绍到这了,更多相关MySQL 存储引擎InnoDB内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文