【MySQL | 进阶】存储引擎

前文回顾:事务

1. MySQL体系结构

2. 存储引擎简介

存储引擎就是存储数据,建立索引。更新 / 查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也被称为表类型

  1. 在创建表时,指定存储引擎

CREATE TABLE 表名(

字段1 字段类型1 COMMENT 字段1注释

...

字段n 字段n类型 COMMENT 字段n注释

)ENGINE = INNODBCOMMENT 表注释

  1. 查看当前数据库支持的存储引擎

SHOW ENGINES;

sql 复制代码
-- 查看建表语句
show create table account; -- ENGINE=InnoDB默认存储引擎


--  查询当前数据库支持的存储引擎
show engines;

-- 创建建表 my_memory,指定MyISAM存储引擎
create table my_myisam(
  id int,
  name varchar(10)
)engine = MyISAM;

3. 存储引擎特点

3.1 InnoDB

InnoDB:InnoDB是一种兼顾高可靠性高性能的 通用存储引擎,在MySQL 5.5 之后,InnoDB是默认的MySQL存储引擎

特点:

  • DML 操作遵循ACID模型,支持事务;(DML数据库的增删改);
  • 行级锁,提高并发访问性能;
  • 支持外键 FOREIGN KEY约束,保证数据的完整性和正确性;

文件

  • xxx.ibd: xxx代表的是表名,innodb引擎的每张表都会这样一个表空间文件,存储该表结构 (frm,sdi),数据索引。参数innodb_file_per_table

3.2 MySAM

3.3 Memory

三种引擎的区别

4. 存储引擎选择

5.总结

相关推荐
IvorySQL29 分钟前
PostgreSQL 日报| RI 快速路径并发读取缺陷(8 月 13 日)
数据库·postgresql
highreport1 小时前
HighReport报表工具定时调度和邮件定时发送
运维·服务器·数据库
01_ice1 小时前
数据库基础
数据库
deepdata_cn1 小时前
向量数据库是非结构化数据的AI检索底座
数据库·人工智能
梁辰兴1 小时前
软件工程:数据库设计
数据库·软件工程·数据库设计·逻辑设计·概念设计·梁辰兴·物理设计
10mAh2 小时前
【Git】误删分支、reset --hard 后提交丢了怎么办?——reflog、fsck 与安全恢复实战
数据库·git·安全·回归
J_bean2 小时前
剖析 MySQL InnoDB 共享行锁 (S) & 排他行锁 (X)
数据库·mysql·共享行锁·s lock·排他行锁·x lock
霸道流氓气质2 小时前
RedLock:Redis 分布式锁的高可用方案
数据库·redis·分布式
Lumistory2 小时前
城市景观亮化设施维护管养的核心痛点与标准化解决方案
数据库·光照贴图
技术长镜头2 小时前
别再只说“走 B+Tree”:一条 SQL 在 InnoDB 中的完整寻址过程
后端·mysql