一般都来都会使用 lock table 然后在 unlock
但是今天google的时候发现还可以用 for update 进行行锁
这样就产生了一个疑问
如果我是select 一群数据,是不是我就是把这群数据全部锁住了
为了防止并发,一般是锁整个表还是锁住部分的数据?
在数据库那端,取决于存储引擎。MyISAM引擎是直接锁表(只有表级的锁),InnoDB支持行锁。
如果存储引擎支持的话,取决于你的业务需求。
一般来说,锁的粒度越小越好,前提是要满足性能需求。
欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。 温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。