Skip to content
This repository was archived by the owner on Aug 28, 2024. It is now read-only.

Commit 4fdc2f3

Browse files
committed
Merge pull request #46 from markdmatthews/development
Adding transaction start, age, rows locked and modified to the locks vie...
2 parents 0036adb + 1a0dc88 commit 4fdc2f3

File tree

2 files changed

+81
-33
lines changed

2 files changed

+81
-33
lines changed

views/i_s/innodb_lock_waits.sql

Lines changed: 40 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,29 @@
2323
--
2424
-- mysql> SELECT * FROM x$innodb_lock_waits\G
2525
-- *************************** 1. row ***************************
26-
-- wait_started: 2014-11-11 13:39:20
27-
-- wait_age: 00:00:07
28-
-- locked_table: `db1`.`t1`
29-
-- locked_index: PRIMARY
30-
-- locked_type: RECORD
31-
-- waiting_trx_id: 867158
32-
-- waiting_pid: 3
26+
-- wait_started: 2014-11-11 13:39:20
27+
-- wait_age: 00:00:07
28+
-- locked_table: `db1`.`t1`
29+
-- locked_index: PRIMARY
30+
-- locked_type: RECORD
31+
-- waiting_trx_id: 867158
32+
-- waiting_trx_started: 2014-11-11 13:39:15
33+
-- waiting_trx_age: 00:00:12
34+
-- waiting_trx_rows_locked: 0
35+
-- waiting_trx_rows_modified: 0
36+
-- waiting_pid: 3
3337
-- waiting_query: UPDATE t1 SET val = val + 1 WHERE id = 2
34-
-- waiting_lock_id: 867158:2363:3:3
35-
-- waiting_lock_mode: X
36-
-- blocking_trx_id: 867157
37-
-- blocking_pid: 4
38-
-- blocking_query: UPDATE t1 SET val = val + 1 + SLEEP(10) WHERE id = 2
39-
-- blocking_lock_id: 867157:2363:3:3
40-
-- blocking_lock_mode: X
38+
-- waiting_lock_id: 867158:2363:3:3
39+
-- waiting_lock_mode: X
40+
-- blocking_trx_id: 867157
41+
-- blocking_pid: 4
42+
-- blocking_query: UPDATE t1 SET val = val + 1 + SLEEP(10) WHERE id = 2
43+
-- blocking_lock_id: 867157:2363:3:3
44+
-- blocking_lock_mode: X
45+
-- blocking_trx_started: 2014-11-11 13:39:11
46+
-- blocking_trx_age: 00:00:16
47+
-- blocking_trx_rows_locked: 1
48+
-- blocking_trx_rows_modified: 1
4149
-- 1 row in set (0.01 sec)
4250
--
4351

@@ -52,6 +60,10 @@ VIEW innodb_lock_waits (
5260
locked_index,
5361
locked_type,
5462
waiting_trx_id,
63+
waiting_trx_started,
64+
waiting_trx_age,
65+
waiting_trx_rows_locked,
66+
waiting_trx_rows_modified,
5567
waiting_pid,
5668
waiting_query,
5769
waiting_lock_id,
@@ -60,13 +72,21 @@ VIEW innodb_lock_waits (
6072
blocking_pid,
6173
blocking_query,
6274
blocking_lock_id,
63-
blocking_lock_mode
75+
blocking_lock_mode,
76+
blocking_trx_started,
77+
blocking_trx_age,
78+
blocking_trx_rows_locked,
79+
blocking_trx_rows_modified
6480
) AS
6581
SELECT r.trx_wait_started AS wait_started, TIMEDIFF(NOW(), r.trx_wait_started) AS wait_age,
6682
rl.lock_table AS locked_table,
6783
rl.lock_index AS locked_index,
6884
rl.lock_type AS locked_type,
6985
r.trx_id AS waiting_trx_id,
86+
r.trx_started as waiting_trx_started,
87+
TIMEDIFF(NOW(), r.trx_started) AS waiting_trx_age,
88+
r.trx_rows_locked AS waiting_trx_rows_locked,
89+
r.trx_rows_modified AS waiting_trx_rows_modified,
7090
r.trx_mysql_thread_id AS waiting_pid,
7191
sys.format_statement(r.trx_query) AS waiting_query,
7292
rl.lock_id AS waiting_lock_id,
@@ -75,7 +95,11 @@ SELECT r.trx_wait_started AS wait_started, TIMEDIFF(NOW(), r.trx_wait_started) A
7595
b.trx_mysql_thread_id AS blocking_pid,
7696
sys.format_statement(b.trx_query) AS blocking_query,
7797
bl.lock_id AS blocking_lock_id,
78-
bl.lock_mode AS blocking_lock_mode
98+
bl.lock_mode AS blocking_lock_mode,
99+
b.trx_started AS blocking_trx_started,
100+
TIMEDIFF(NOW(), b.trx_started) AS blocking_trx_age,
101+
b.trx_rows_locked AS blocking_trx_rows_locked,
102+
b.trx_rows_modified AS blocking_trx_rows_modified
79103
FROM information_schema.innodb_lock_waits w
80104
INNER JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id
81105
INNER JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id

views/i_s/x_innodb_lock_waits.sql

Lines changed: 41 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,29 @@
2323
--
2424
-- mysql> SELECT * FROM x$innodb_lock_waits\G
2525
-- *************************** 1. row ***************************
26-
-- wait_started: 2014-11-11 13:39:20
27-
-- wait_age: 00:00:07
28-
-- locked_table: `db1`.`t1`
29-
-- locked_index: PRIMARY
30-
-- locked_type: RECORD
31-
-- waiting_trx_id: 867158
32-
-- waiting_pid: 3
33-
-- waiting_query: UPDATE t1 SET val = val + 1 WHERE id = 2
34-
-- waiting_lock_id: 867158:2363:3:3
35-
-- waiting_lock_mode: X
36-
-- blocking_trx_id: 867157
37-
-- blocking_pid: 4
38-
-- blocking_query: UPDATE t1 SET val = val + 1 + SLEEP(10) WHERE id = 2
39-
-- blocking_lock_id: 867157:2363:3:3
40-
-- blocking_lock_mode: X
26+
-- wait_started: 2014-11-11 13:39:20
27+
-- wait_age: 00:00:07
28+
-- locked_table: `db1`.`t1`
29+
-- locked_index: PRIMARY
30+
-- locked_type: RECORD
31+
-- waiting_trx_id: 867158
32+
-- waiting_trx_started: 2014-11-11 13:39:15
33+
-- waiting_trx_age: 00:00:12
34+
-- waiting_trx_rows_locked: 0
35+
-- waiting_trx_rows_modified: 0
36+
-- waiting_pid: 3
37+
-- waiting_query: UPDATE t1 SET val = val + 1 WHERE id = 2
38+
-- waiting_lock_id: 867158:2363:3:3
39+
-- waiting_lock_mode: X
40+
-- blocking_trx_id: 867157
41+
-- blocking_pid: 4
42+
-- blocking_query: UPDATE t1 SET val = val + 1 + SLEEP(10) WHERE id = 2
43+
-- blocking_lock_id: 867157:2363:3:3
44+
-- blocking_lock_mode: X
45+
-- blocking_trx_started: 2014-11-11 13:39:11
46+
-- blocking_trx_age: 00:00:16
47+
-- blocking_trx_rows_locked: 1
48+
-- blocking_trx_rows_modified: 1
4149
-- 1 row in set (0.01 sec)
4250
--
4351

@@ -52,6 +60,10 @@ VIEW x$innodb_lock_waits (
5260
locked_index,
5361
locked_type,
5462
waiting_trx_id,
63+
waiting_trx_started,
64+
waiting_trx_age,
65+
waiting_trx_rows_locked,
66+
waiting_trx_rows_modified,
5567
waiting_pid,
5668
waiting_query,
5769
waiting_lock_id,
@@ -60,13 +72,21 @@ VIEW x$innodb_lock_waits (
6072
blocking_pid,
6173
blocking_query,
6274
blocking_lock_id,
63-
blocking_lock_mode
75+
blocking_lock_mode,
76+
blocking_trx_started,
77+
blocking_trx_age,
78+
blocking_trx_rows_locked,
79+
blocking_trx_rows_modified
6480
) AS
6581
SELECT r.trx_wait_started AS wait_started, TIMEDIFF(NOW(), r.trx_wait_started) AS wait_age,
6682
rl.lock_table AS locked_table,
6783
rl.lock_index AS locked_index,
6884
rl.lock_type AS locked_type,
6985
r.trx_id AS waiting_trx_id,
86+
r.trx_started as waiting_trx_started,
87+
TIMEDIFF(NOW(), r.trx_started) AS waiting_trx_age,
88+
r.trx_rows_locked AS waiting_trx_rows_locked,
89+
r.trx_rows_modified AS waiting_trx_rows_modified,
7090
r.trx_mysql_thread_id AS waiting_pid,
7191
r.trx_query AS waiting_query,
7292
rl.lock_id AS waiting_lock_id,
@@ -75,7 +95,11 @@ SELECT r.trx_wait_started AS wait_started, TIMEDIFF(NOW(), r.trx_wait_started) A
7595
b.trx_mysql_thread_id AS blocking_pid,
7696
b.trx_query AS blocking_query,
7797
bl.lock_id AS blocking_lock_id,
78-
bl.lock_mode AS blocking_lock_mode
98+
bl.lock_mode AS blocking_lock_mode,
99+
b.trx_started AS blocking_trx_started,
100+
TIMEDIFF(NOW(), b.trx_started) AS blocking_trx_age,
101+
b.trx_rows_locked AS blocking_trx_rows_locked,
102+
b.trx_rows_modified AS blocking_trx_rows_modified
79103
FROM information_schema.innodb_lock_waits w
80104
INNER JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id
81105
INNER JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id

0 commit comments

Comments
 (0)