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

相关推荐
Flying pigs~~8 小时前
RAG智慧问答项目
数据库·人工智能·缓存·微调·知识库·rag
misL NITL9 小时前
mysql之如何获知版本
数据库·mysql
许彰午9 小时前
CacheSQL(二):主从复制——OpLog 环形缓冲区与故障自动恢复
java·数据库·缓存
2401_8323655210 小时前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
2301_7796224110 小时前
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
jvm·数据库·python
2301_7662834410 小时前
c++如何将控制台输出保存到文件_cout重定向到txt【详解】
jvm·数据库·python
北极的冰箱10 小时前
MySQL Ver 8.0.41 for macos14.7密码遗忘
数据库·mysql
XDH_CS11 小时前
MySQL 8.0 安装与 MySQL Workbench 使用全流程(超详细教程)
开发语言·数据库·mysql
秋911 小时前
MySQL 8.0.46 全平台安装与配置详解(Windows/Linux/macOS)
linux·windows·mysql
treacle田11 小时前
达梦数据库-统计信息收集-记录
数据库·达梦数据库统计信息收集