锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据也是一种供需多用户共享的资源,如何保证数据并发访问的一致性,有效性,是所有数据库必须解决的一个问题,索冲突也是影响数据库并发访问性能的一个重要因素,从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂
MySQL锁:
相对其他数据库而言,MySQL的锁机制比较简单,其特点是不同的存储引擎支持不同的锁机制,
MySQL的三种锁的特性大致归纳:
·1,表级锁:开销小,加锁快:不会出现死锁,锁定粒度打,发生索冲突的概率最高,并发度最低
2,行级锁:开销大,加锁慢:会出现死锁,锁定粒度最小,发生索冲突的概率最低,并发度也最高
3,页面锁:开锁和加锁时间界于表锁和行锁之间:会出现死锁,锁定粒度界于 表锁和行锁之间,并发度一般
表共享读锁:
lock table table_name read;
解锁
unlock tables;
表写锁
lock table table_name write;