MySQL数据库中锁的概念以及分类
1.MySQL数据库锁的概念
锁是计算机协调多个进程或者线程并发访问同一个资源时的限制机制,进程和线程对同一个资源的并发访问都有着限制机制,那么MySQL数据库对于数据被多个用户同时共享的情况下,为了保证数据的一致性,从而有了锁的概念。
在数据库中,除了传统的计算资源(CPU、RAM、I/O)的争用之外,表中的数据也是被多用户并发共享的资源,只要是并发共享访问的资源都会有一定的限制,在多用户并发访问同一个数据时,为了保证数据的一致性、有效性,就需要用到锁的概念。
锁对于数据库而言是非常重要的,也是非常复杂的。
当多用户同时访问同一条数据时,可以通过锁,来限制只有第一个事务能对表数据进行操作,其余的事务要等待排队处理。
2.MySQL数据库中锁的分类
在MySQL数据库中,根据面向对象的不同,分为以下三类锁:
- 全局锁
- 锁定数据库中的所有表,此时所有表都不可操作数据。
- 表级锁
- 锁住整张表,此时整张表中的数据都不可操作。
- 行级锁
- 锁住表中某一行数据。