锁定数据库查询

时间:2017-11-27 16:25:11

标签: mysql database operating-system rdbms

当我们通过sql查询mysql时是否隐式应用了锁? 当我从db读取数据时,应用什么类型的锁,从db写入?这个锁如何在用于实时应用程序的数据库中起作用?

1 个答案:

答案 0 :(得分:1)

问:当我们通过sql查询mysql时是否隐式应用了锁?

答:是的。

问:当我从db读取数据时,应用了什么类型的锁,从db写入?

答:这取决于存储引擎(MyISAM,InnoDB等)

MyISAM采用"表级"锁。它使用"分享"用于读取的锁,以及"排除"锁定写入。

InnoDB使用"表级"和"行级"锁,并受会话隔离级别的影响(REPEATABLE-READ,READ-COMMITTED等)

关于MySQL锁定的完整讨论对于StackOverflow的答案非常深入。

问:这在用于实时应用程序的数据库中如何锁定功能?

答:锁机制的功能相同,存储引擎并没有真正区分实时"实时"或者其他。没有特定的"实时"设置InnoDB锁定。

我们的应用程序要求将影响我们的数据库设计和实施决策。