1. 查看MySql数据库物理文件存放位置
2. MyISAM存储引擎特点
MySql默认是InnoDB引擎,这里创建一个表设置存储引擎为Myisma
然后查看数据库表文件
可以看到数据文件和索引文件是分开存储的,平均分布I/O,获得更快的速度。
特点:
- 不支持事务,不支持外键约束,但支持全文索引
- 只支持表级锁定,虽然可以让锁实现的成本很小,但大大降低了并发性能。
- 读写相互阻塞:读取的时候阻塞写入,写入的时候阻塞读取,但读取时不会阻塞其他读取。
- 不缓存数据文件,只缓存索引文件。
- 读取速度较快,占用资源相对较少
- MYISAM引擎是MySQL5.5之前的默认存储引擎
- 并发量小,不适合大量update
MyISAM适用场景:
- 不需要事务支持的业务,一般是读数据比较多的网站应用
- 并发相对较低的,对数据一致性要求不高
- 数据修改较少,以读为主的业务
3. InnoDB存储引擎特点
InnoDB类型的表只有idb文件,分为数据区和索引区。
InnoDB引擎特点:
- 支持事务:包括ACID事务支持,4种事务隔离级别,支持多版本读取
- 支持行级锁定
- 支持崩溃修复能力和MVCC
- 读写阻塞与事务隔离级别有关
- 能缓存数据,也能缓存索引
- 支持外键约束
- 支持自增(auto_increment)