select lock in share mode
时间: 2023-04-27 09:06:17 浏览: 101
select语句中的lock in share mode是一种锁定方式,它可以在读取数据时对数据进行共享锁定,以防止其他事务对该数据进行修改或删除。这种锁定方式适用于需要读取数据的事务,但不希望其他事务对该数据进行修改或删除的情况。
相关问题
select 可读可写有什么区别
在 SQL 中,SELECT 是一种可读操作,用于从数据库中检索数据。而可写操作(如 INSERT、UPDATE、DELETE)则是用于修改数据库中的数据。
在可读操作中,SELECT 可读可写的区别通常指的是 SELECT FOR UPDATE 与 SELECT LOCK IN SHARE MODE 之间的区别。
SELECT FOR UPDATE 是一种悲观锁定,它在选择数据时会锁定所选行,以防其他事务对它们进行修改。这种锁定将持续到事务结束或锁定显式释放为止。
SELECT LOCK IN SHARE MODE 也是一种锁定,但只会对所选行进行共享锁定。这意味着其他事务仍然可以读取这些行,但不能修改它们。这种锁定将持续到事务结束或锁定显式释放为止。
因此,SELECT FOR UPDATE 会防止其他事务对所选行进行任何修改操作,而SELECT LOCK IN SHARE MODE 则只会防止其他事务进行修改操作,但允许其他事务读取所选行。
select是阻塞的吗
在MySQL中,SELECT语句是阻塞的,意味着当一个SELECT语句正在执行时,其他的查询将会被阻塞,直到当前查询完成。这是因为MySQL使用了共享锁(Shared Lock)来保证数据的一致性和隔离性。当一个SELECT语句执行时,它会获取共享锁,其他查询想要获得共享锁时就会被阻塞。但是,如果使用了InnoDB引擎,可以使用非阻塞的SELECT语句,即使用SELECT ... FOR UPDATE或SELECT ... LOCK IN SHARE MODE语句,可以避免其他查询被阻塞。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)