Skip to content

Instantly share code, notes, and snippets.

morgo / pfs-histogram.txt
Created Apr 1, 2020
Performance Schema Histogram
View pfs-histogram.txt
WITH histogram AS (
WHEN bucket_timer_low > 10000000000000 THEN '10s'
WHEN bucket_timer_low > 1000000000000 THEN '1s'
WHEN bucket_timer_low > 100000000000 THEN '100ms'
WHEN bucket_timer_low > 10000000000 THEN '10ms'
WHEN bucket_timer_low > 1000000000 THEN '1ms'
WHEN bucket_timer_low > 100000000 THEN '100us'
morgo / pfs.txt
Created Mar 31, 2020
Performance Schema: summarize row locks of oldest 100 transactions
View pfs.txt
thr.processlist_id AS mysql_thread_id,
FORMAT_PICO_TIME(trx.timer_wait) as trx_duration,
COUNT(case when lock_status='GRANTED' then 1 else null end) AS row_locks_held,
COUNT(case when lock_status='PENDING' then 1 else null end) AS row_locks_pending,
GROUP_CONCAT(DISTINCT CONCAT(object_schema, '.', object_name)) AS tables_with_locks
performance_schema.events_transactions_current trx
INNER JOIN performance_schema.threads thr USING (thread_id)
LEFT JOIN data_locks USING (thread_id)
View bench.go
package main
import (
_ ""
View setup_dm
source ./sb_include
# Setup DM between sandboxes
if [ -z "$SOURCE" ]; then
echo "Usage: "
morgo /
Created Feb 25, 2019
Setup DM between MySQL 5.7 and TiDB Sandboxes
killall -9 dm-master
killall -9 dm-worker
# Setup DM between sandboxes
echo "Downloading required packages"
morgo / mydumper-test-case
Created Oct 10, 2018
View mydumper-test-case
MySQL [test]> create table t1 (a int not null primary key auto_increment, b char(255));
Query OK, 0 rows affected (0.51 sec)
MySQL [test]> create table t2 (a char(255) not null primary key, b char(255));
Query OK, 0 rows affected (0.51 sec)
MySQL [test]> INSERT INTO t1 values (1, 'aaa');
Query OK, 1 row affected (0.15 sec)
MySQL [test]> INSERT INTO t2 values ('aaa', 'aaa');
View gist:27673c86f1368aa8f20755f91b425316
morgo@ryzen:~/go/src/$ git diff
diff --git a/util/charset/charset_test.go b/util/charset/charset_test.go
index c400d97f..931b78ac 100644
--- a/util/charset/charset_test.go
+++ b/util/charset/charset_test.go
@@ -17,6 +17,8 @@ import (
. ""
+ ""
View gist:90e9531a664c0e89ded60487c2857d5a
# Initial Data does not make sense
# should be either "Harvey Dent" or "Two Face"
id: 1, firstname: "Two Face", lastname: "Dent"
# Assume RR isolation
View testcase-gaplocking
create table department (
id bigint not null,
budget bigint not null,
name varchar(255),
primary key (id)
create table employee (

Keybase proof

I hereby claim:

  • I am morgo on github.
  • I am morgo ( on keybase.
  • I have a public key whose fingerprint is 97A4 2DBE 3564 9BE6 0B37 E35C C00C 8FB5 BF35 ACE4

To claim this, I am signing this object:

You can’t perform that action at this time.