存储引擎
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:将数据保存在内存中,访问速度快,通常用于临时表和缓存,无法保证数据的安全性。
1 游客 2025-03-28 00:22 回复
555goSWgLbw') OR 702=(SELECT 702 FROM PG_SLEEP(15))--
1 游客 2025-03-28 00:21 回复
5553RcEk41W'; waitfor delay '0:0:15' --
1 游客 2025-03-28 00:20 回复
555nb20YZ6e')) OR 191=(SELECT 191 FROM PG_SLEEP(15))--
1 游客 2025-03-28 00:19 回复
555
1 游客 2025-03-28 00:18 回复
555
1 游客 2025-03-28 00:17 回复
555
1 游客 2025-03-28 00:17 回复
555
1eRun1rAf'; waitfor delay '0:0:15' -- 游客 2025-03-28 00:16 回复
555
1 游客 2025-03-28 00:15 回复
555
1 游客 2025-03-28 00:15 回复
555
1TkBWUNeu'; waitfor delay '0:0:15' -- 游客 2025-03-28 00:13 回复
555
1NdSyCEaD 游客 2025-03-28 00:12 回复
555
1 游客 2025-03-28 00:11 回复
555
1 游客 2025-03-28 00:10 回复
555
1 游客 2025-03-28 00:09 回复
555
1 游客 2025-03-28 00:09 回复
555
1 游客 2025-03-28 00:09 回复
555
1 游客 2025-03-28 00:09 回复
555
1 游客 2025-03-28 00:09 回复
555
1 游客 2025-03-28 00:09 回复
555