MYSQL基础十一--存储引擎

MYSQL可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。

每一种存储引擎使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能。

存储引擎:

MyISAM

InnoDB

Memory

CSV

Archive

并发控制:当多个连接对记录进行修改时保证数据的统一性和完整性。

锁系统解决并发问题:

共享锁(读锁):在同一时间段内,多个用户可以读取同一个资源。读取过程中数据不会发生变化。

排他锁(写锁):在任何时候只能有一个用户写入资源,当进行写锁的时候,会阻塞其他读锁或写锁操作。

锁颗粒

表锁,是一种开销最小的锁策略。

行锁,是一种开销最大的锁策略。

特点 MyISAM InnoDB CSV Archive
存储限制 256TB 64TB 有 
事务安全   支持    
支持索引 支持 支持 支持  
锁颗粒 表锁 行锁 表锁 行锁
数据压缩 支持     支持
支持外键   支持    

修改存储引擎

在创建表的时候设定存储引擎

CREATE TABLE tp1(s1 varchar(40)) ENGINE = MyISAM;

查看存储引擎:

SHOW CREATE TABLE tp1;

在已经创建好的表中修改存储引擎

ALTER TABLE tp1 ENGINE = InnoDB;