关于数据库锁的一些注意事项

Posted iwings

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于数据库锁的一些注意事项相关的知识,希望对你有一定的参考价值。

insert、delete是会把整张表都锁住的,在事务没有提交之前,其他请求如果select这张表,将会被卡住,

除非,你select的时候,是用主键进行查询的,如:select * from tablename where id=1,这样是不会被卡住(用sql server测试的)

所以,任何select操作,建议都开启事务,并且隔离模式设为:readUnCommit

update的时候,也要以主键作为更新条件,如:update tablename set name=‘abc‘ where id=3,这样不会受insert锁的影响

以上是关于关于数据库锁的一些注意事项的主要内容,如果未能解决你的问题,请参考以下文章

关于ReentrantLock锁的一些理解

关于ReentrantLock锁的一些理解

关于并发的一些设计

关于数据库行锁与表锁的认识

关于数据库事务隔离级别锁的理解与整理(转)

关于 InnoDB 锁的超全总结