【MySQL | 进阶】存储引擎

前文回顾:事务

1. MySQL体系结构

2. 存储引擎简介

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

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

CREATE TABLE 表名(

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

...

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

)ENGINE = INNODB[COMMENT 表注释];

  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.总结

相关推荐
期待のcode2 小时前
MyBatisX插件
java·数据库·后端·mybatis·springboot
小萌新上大分4 小时前
mysql主从复制搭建
mysql·mysql主从复制·mysql主从复制配置·mysql主从复制的搭建·mysql主从复制的原理·mysql安装入门
安审若无4 小时前
oracel迁移数据文件至其他目录操作步骤
数据库
sunxunyong4 小时前
doris运维命令
java·运维·数据库
华仔啊5 小时前
这 10 个 MySQL 高级用法,让你的代码又快又好看
后端·mysql
小鸡吃米…5 小时前
Python PyQt6教程七-控件
数据库·python
忍冬行者5 小时前
清理三主三从redis集群的过期key和键值超过10M的key
数据库·redis·缓存
TimberWill5 小时前
使用Redis队列优化内存队列
数据库·redis·缓存
Knight_AL6 小时前
MySQL 中 UPDATE 语句的执行过程全解析
数据库·mysql
yngsqq7 小时前
兰顿蚂蚁——CAD二次开发
数据库