当我们通过sql查询mysql时,是否会隐式应用锁? 当我从数据库读取、从数据库写入时,应用什么类型的锁?这种锁在用于实时应用程序的数据库中如何发挥作用?
最佳答案
问:当我们通过sql查询mysql时,是否会隐式应用锁?
答:是的。
问:当我从数据库读取、从数据库写入时,会应用什么类型的锁?
答:这取决于存储引擎(MyISAM、InnoDB 等)
MyISAM 采用“表级”锁。它使用“共享”锁进行读取,使用“独占”锁进行写入。
InnoDB 同时使用“表级”锁和“行级”锁,并受 session 隔离级别(REPEATABLE-READ、READ-COMMITTED 等)的影响
对 MySQL 锁定的完整讨论对于 StackOverflow 上的答案来说太深入了。
问:这种锁在用于实时应用程序的数据库中如何发挥作用?
答:锁机制的功能相同,存储引擎并没有真正区分“实时”应用程序或其他应用程序。 InnoDB 锁定没有特定的“实时”设置。
我们的应用程序需求将影响我们的数据库设计和实现决策。
关于mysql - 数据库查询中的锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47515506/