1.什么是mylSAM引擎
MyISAM引擎是MySQL关系数据库管理系统的默认存储引擎(MySQL5.5版本以前)。这种MySQL
表存储结构从旧的ISAM代码扩展出许多有用的功能。在新版本的MySQL中,InnoDB引擎由于其对事物参照完整性,以及更高的并发性等优点开始逐步的取代MyISAM引擎。
小结:事物参照完整性可理解为数据的一致性。
mylSAM引擎的特点:
1、不支持事务(事务就是逻辑上的一组SQL语句操作,组成这组操作的各个SQL语句,执行时要么全部成功,要么全部失败)
2、表级锁定(更新是锁整个表):其锁定机制是表级锁定,虽然可以让锁定的实现成本很小,但是大大的降低了其并发性能。
小结:MyISAM锁定的范围太大
3、读写互相堵塞:不仅会在写入的时候阻塞读取,MyISAM还会在读取的时候阻塞写入,但读本身并不会阻塞另外的读。
4、只会缓存索引:MyISAM可以通过key_buffer_size缓存索引,大大提高访问性能,减少磁盘的I/O,但是缓存区只会缓存索引,不会缓存数据。
5、读取速度较快,占用资源相对少。
6、不支持外键约束,但支持全文索引。
7、MyISQM引擎是mysql_5.5.5之前的索引。
MyISAM引擎使用的场景
1、不需要事务支持的业务(转账、充值、付款这种就不行)。
2、一般为读数据比较多的应用。读写都频繁的不适合,读多或写多都适合。
3、并发访问相对低的业务(纯读、纯写高并发也可以)。
4、数据修改相对较少的业务(阻塞问题)。
5、以读为主的业务,例如:www,blog,图片信息数据库,用户数据库,商品库等业务。
6、对数据一致性要求不是很高的业务。
7、硬件资源比较差的机器可以用MyISAM。
小结:单一对数据库的操作都可以使用MyISAM引擎
本文转载地址https://blog.csdn.net/m0_37814112/article/details/78633136