扫码关注官方订阅号
一般都来都会使用 lock table 然后在 unlock
但是今天google的时候发现还可以用 for update 进行行锁
这样就产生了一个疑问
如果我是select 一群数据,是不是我就是把这群数据全部锁住了
为了防止并发,一般是锁整个表还是锁住部分的数据?
走同样的路,发现不同的人生
在数据库那端,取决于存储引擎。MyISAM引擎是直接锁表(只有表级的锁),InnoDB支持行锁。
如果存储引擎支持的话,取决于你的业务需求。
一般来说,锁的粒度越小越好,前提是要满足性能需求。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
在数据库那端,取决于存储引擎。MyISAM引擎是直接锁表(只有表级的锁),InnoDB支持行锁。
如果存储引擎支持的话,取决于你的业务需求。
一般来说,锁的粒度越小越好,前提是要满足性能需求。