LOVEJOAN

文章 分类 评论
76 9 1453

站点介绍

人生是一场孤独的旅行,没有终点。。。

mysql-存储引擎

chuck 2023-06-14 227 43条评论 数据库 mysql

首页 / 正文

存储引擎

mysql体系结构
客户端:native,C,JDBC,PHP,python

服务器端:
连接层:认证、线程、限制策略、缓存
服务层:DML、DDL、视图、触发器等
引擎层:索引、可插拔存储引擎(InnoDB,MyISAM...)
存储层:系统文件,文件和日志

存储引擎操作

# 存储引擎是根据表来区分
# 查看创建表的语句
SHOW CREATE TABLE account;

# 查看当前数据库支持的存储引擎
SHOW engines;

存储引擎特点

InnoDB存储引擎

mysql5.5版本之后的默认存储引擎,高可靠和高性能的存储引擎。

  • DML操作遵循ACID模型,支持事务。
  • 行级锁,提高并发访问性能。
  • 支持外键约束,保持数据的完整性和正确性。

文件:
xxx.ibd:代表一个表名,存储该表的结构(frm,sdi)、数据和索引。
参数:innodb_file_per_table,设置是否每张表生成一个ibd文件。

SHOW VARIABLES like 'innodb_file_per_table';

innodb的逻辑存储结构:
tablespace:表空间
Segment:段
Extent:区 (大小:1M)
page:页 (大小:16K)
Row:行

MyISAM存储引擎

mysql早期默认存储引擎
特点:
不支持事务和外键
支持表锁,不支持行锁
访问速度快
文件:
xxx.MYD :数据
xxx.MYI:索引
xxx.sdi:表结构

MEMORY存储引擎

表数据存储在内存中,作为临时表或者缓存使用。
特点:
存储在内存
支持hash索引

文件:
xxx.sdi:表结构信息

存储引擎的选择

innodb:默认引擎,支持事务,外键,高可靠和一致性,适用于对数据一致性,包含较多的更新和删除操作。

MyISAM:适用于以读操作和插入为主,对事务的完整性和一致性要求不高的业务。

MEMORY:将数据保存在内存中,访问速度快,通常用于临时表和缓存,无法保证数据的安全性。

评论(43)

  1. 1 游客 2025-03-27 23:18 回复

    555

  2. 1 游客 2025-03-27 23:18 回复

    555

  3. 1 游客 2025-03-27 23:17 回复

    555

热门文章

最新评论

  • 1

    555fulIdEqZ' OR 160=(SELECT 160 FROM PG_SLEEP(15))--

  • 1

    555-1)) OR 58=(SELECT 58 FROM PG_SLEEP(15))--

  • 1

    555-1) OR 13=(SELECT 13 FROM PG_SLEEP(15))--

  • 1

    555-1 OR 475=(SELECT 475 FROM PG_SLEEP(15))--

  • 1

    555

  • 1

    555

  • 1

    5554FobGRsu') OR 696=(SELECT 696 FROM PG_SLEEP(15))--

  • 1

    555C9F0upP1' OR 504=(SELECT 504 FROM PG_SLEEP(15))--

  • 1

    555

  • 1-1; waitfor delay '0:0:15' --

    555

日历

2025年05月

    123
45678910
11121314151617
18192021222324
25262728293031

文章目录