InnoDB 存储引擎

数据库优化 学习笔记

一、MySQL引擎 之 InnoDB

  • MySQL5.5 及之后版本默认存储引擎,支持事务的ACID特性

1.1、表空间

        Innodb 使用表空间进行数据存储。

	-- 查看表的空间类型
	show variables like 'innodb_file_per_table';

	-- 修改表的类型
	-- on 或 1 表示独立表空间
	-- off 或 0 表示系统表空间
	set global innodb_file_per_table= on/off/1/0;

	-- 注意
	-- 这个修改并不是正在的修改, 只是临时的修改
	-- 因为重启 MySQL, 或者关闭 cmd 窗口(如果是使用cmd窗口修改的话), 那么它有会边回默认的值
	-- 若相应正在的修改, 那么需要修改 MySQL 的配置文件
  • 独立表空间
    文件保存为 表名.ibd
    存储在与表的结构文件(frm) 存放在同一文件夹下,即对应数据库文件夹下

  • 系统表空间
    文件保存为 ibdataX .ibd (X 是一个数字)
    存储在 MySQL 的 data文件下,即数据库的上一级文件夹下

1.2、系统表空间和独立表空间如何选择?

  • 系统表空间会产生 IO 瓶颈,刷新数据的时候是顺序进行的,所以会产生文件的 IO 瓶颈

  • 独立表空间可以同时向多个文件刷新数据



二、InnoDB 存储引擎的特性


  1. 支持事务的ACID特性

  2. Innodb 支持行级锁,可以最大程度的支持并发



三、MyISAM 和 InnoDB 对比

在这里插入图片描述

发布了85 篇原创文章 · 获赞 0 · 访问量 1256

猜你喜欢

转载自blog.csdn.net/qq_43621629/article/details/103664859