Haluk Asked: 2012-02-22 05:00:39 +0800 CST2012-02-22 05:00:39 +0800 CST 2012-02-22 05:00:39 +0800 CST 我应该如何解释mysql慢查询日志中的“锁定时间”? 772 我试图了解如何最好地解释我们的 MySQL 慢查询日志中显示的查询的锁定时间。 例如,如果一个 UPDATE 查询有 10 秒的锁定时间。我认为这是更新查询获取锁后的总时间。即使它正在等待先前的选择查询完成但不执行 UPDATE 操作本身,时钟也应该在滴答作响,因为它锁定了在 UPDATE 查询之后排队的所有 SELECT 查询。 以及 SELECT 查询锁怎么样。为什么某些选择查询有锁定时间?是不是因为有一个 UPDATE 查询跟进,因此他们将一个表锁定在一起。 mysql locking 1 个回答 Voted Best Answer Derek Downey 2012-02-22T07:14:18+08:002012-02-22T07:14:18+08:00 慢查询日志中的lock_time实际是查询等待获取它需要运行的锁所花费的时间。例如,UPDATES查询需要写锁。 锁定还取决于您在表中使用的存储引擎。写入时,InnoDB 将使用行级锁定,并且只锁定正在更改的行。MyISAM 将锁定整个表,直到更新/插入/删除完成。 MyISAM 对整个表的锁定是SELECT查询在慢查询日志中具有 lock_time 的一个重要原因。
慢查询日志中的
lock_time
实际是查询等待获取它需要运行的锁所花费的时间。例如,UPDATES
查询需要写锁。锁定还取决于您在表中使用的存储引擎。写入时,InnoDB 将使用行级锁定,并且只锁定正在更改的行。MyISAM 将锁定整个表,直到更新/插入/删除完成。
MyISAM 对整个表的锁定是
SELECT
查询在慢查询日志中具有 lock_time 的一个重要原因。