Mysiam锁模式 innodb锁模式 是什么区别

Posted 软件工程小施同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysiam锁模式 innodb锁模式 是什么区别相关的知识,希望对你有一定的参考价值。

Mysiam锁模式(表级锁)



MyISAM在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作(UPDATE、DELETE、INSERT等)前,会自动给涉及的表加写锁。

a、对MyISAM表的读操作(加读锁),不会阻塞其他进程对同一表的读请求,但会阻塞对同一表的写请求.只有当读锁释放后才会执行其它进程的写操作。

b、对MyISAM表的写操作(加写锁),会阻塞其他进程对同一表的读和写操作,只有当写锁释放后,才会执行其它进程的读写操作。

 


innodb锁模式(行级锁)


意向锁是InnoDB自动加的,不需要用户干预。

对于insert、update、delete,InnoDB会自动给涉及的数据加排他锁(X);对于一般的Select语句,InnoDB不会加任何锁,事务可以通过以下语句给显示加共享锁或排他锁。

共享锁: SELECT ... LOCK IN SHARE MODE;

排他锁: SELECT ... FOR UPDATE;

Mysql-各种锁区分与MVCC的详解-mysql教程-PHP中文网

以上是关于Mysiam锁模式 innodb锁模式 是什么区别的主要内容,如果未能解决你的问题,请参考以下文章

InnoDB的行锁模式及加锁方法

InnoDB的行锁模式及加锁方法

InnoDB中锁的模式,锁的查看,算法

锁模块之MyISAM与InnoDB关于锁方面的区别

mysql锁,事务

Innodb和Mysiam引擎的区别