mysql可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。 每一种存储引擎使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能。
MySQL支持的存储引擎: MyISAM: InnoDB Memory CSV Archive
并发控制:对多个连接对记录进行修改时,保证数据的一致性和完整性
锁:共享锁(读锁)、排他锁(写锁)
锁颗粒:表锁,开销小的锁策略;行锁,开销大的锁策略
事务处理:保证数据库的完整性,将多个语句当成一个整体来看 事务特性:ACID
原子性、一致性、隔离性、持久性 ---简称:A(Atomic)C(Consistency)I(Isolation)D(Durable)
外键,是保证数据一致性的一个策略
索引,对数据表中的一列或多列进行排序的一种结构,可以快速访问数据表的特定信息
各种存储引擎特点
常用的数据引擎是:MyISAM(对事务、外键无要求,大容量;适合日志类型的库)、InnoDB(支持事务、外键、不能压缩,适合业务库)
修改存储引擎的方法
1、通过创建数据表命令实现CREATE TABLE table_name(... ...)ENGINE=engine;
2、通过修改数据表命令实现
ALTER TABLE table_name ENGINE [=]engine_name;
3、通过修改MySQL配置文件实现default-storage-engine=engine