MySQL开发技巧 - 并发控制

第1关:表锁

任务描述
本关任务:使用读锁添加并修改student表数据。

相关知识
为了完成本关任务,你需要掌握:
1.MySQL存储引擎;
2.锁机制;
3.表锁;
4.乐观锁和悲观锁的概念;
5.如何给表添加读写锁。

MySQL存储引擎
引擎:数据存在数据库中不同的格式和方法。

MySQL最常用引擎:MyISAM和InnoDB,在MySQL 5.5.5以前,默认的存储引擎为MyISAM,之后版本默认为InnoDB。InnoDB对事物完整性更好以及有更高的并发性,下面了解一下他们之间的区别:

对比项 MyISAM InnoDB
主外键 不支持 支持
事务 不支持 支持
行表锁 锁。操作一条记录也会锁住整个表 行锁。操作时只锁某一行
缓存 只缓存索引,不缓存真实数据 不仅缓存索引,还缓存真实数据
表空间 小 大
关注点 性能 事务
默认安装 是 是
锁机制
问:锁是什么,有什么用?

答:锁的主要作用是管理共享资源的并发访问,锁可以用于实现事务的隔离。

问:为什么要加锁?

答:为了避免多个事务同时操作数据库导致数据异常,一般会通过锁机制解决。

锁的分类:

从对数据操作的类型(读/写)分类:共享锁(读锁)、排它锁(写锁);

从对数据操作的粒度分:表锁、行锁。<

猜你喜欢

转载自blog.csdn.net/Junds0/article/details/132988064
今日推荐