12 我试图了解如何最好地解释查询的锁定时间,这些查询显示在我们的MySQL慢查询日志中。 例如,如果UPDATE查询的锁定时间为10秒。我认为这是更新查询获得锁之后的总时间。即使它正在等待先前的选择查询完成但不执行UPDATE操作本身,时钟也应该滴答作响,因为它锁定了所有在UPDATE查询之后排队的SELECT查询。 以及SELECT查询锁如何。为什么某些选择查询具有锁定时间?是因为有后续的UPDATE查询,因此他们将表锁定在一起。 mysql locking — 哈卢克 source
19 将lock_time在慢查询日志实际上是时间的查询花在等待获得它需要运行锁的数量。例如,UPDATES查询需要写锁。 锁定还取决于表中使用的存储引擎。编写时,InnoDB将使用行级锁定,并且仅锁定要更改的行。MyISAM将锁定整个表,直到更新/插入/删除完成。 为MyISAM锁定整个表是一个重要原因,SELECT查询在您的慢速查询日志中将具有lock_time。 — 德里克·唐尼 source