2021-04-19

2021年4月19日 5点热度 0条评论 来源: yulong0816

&12、引擎

一、引擎(engine)

1.两个官方引擎——InnoDB(5.0之后) Myisam(5.0之前)

2.区别

1.Myisam:应用于以读写操作为主, 很少更新 、 删除 , 并对事务的完整性、 并发性要求不高的情况。InnoDB:应用于对事务的完整性要求高,在并发条件下要求数据的一致性的情况。

2.Myisam:使用表锁,InnoDB:使用行锁。

*加锁:一但产生数据高频发时必须加锁,适应高并发性。

*表锁:加锁的方式:自动加锁。查询操作(SELECT),会自动给涉及的所有表加读锁,更新操作(UPDATE、DELETE、INSERT),会自动给涉及的表加写锁。特点:开销小、加锁快、无死锁;锁粒度大,发生锁冲突的概率高,高并发下性能低

*行锁:加锁的方式:自动加锁。对于UPDATE、DELETE和INSERT语句,InnoDB会自动给涉及数据集加排他锁;对于普通SELECT语句,InnoDB不会加任何锁。特点:锁的粒度小,发生锁冲突的概率低、处理并发的能力强;开销大、加锁慢、会出现死锁

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xi7bMDVe-1618820733382)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210418114054876.png)]

*事务安全:保证数据的安全性可靠性。——要不成功要不失败,不允许单行成功和失败,以保障安全。

*Myisam没有外键约束,InnoDB有外键约束,保证可靠性。

    原文作者:yulong0816
    原文地址: https://blog.csdn.net/yulong0816/article/details/115867726
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。