Commit c16c3b9e authored by Sergey Petrunya's avatar Sergey Petrunya

MDEV-6430: It is impossible to see if "filesort with small limit" optimization was used

- Add a Sort_priority_queue_sorts status variable.
parent 16779f60
...@@ -755,6 +755,7 @@ Variable_name Value ...@@ -755,6 +755,7 @@ Variable_name Value
# Status of "equivalent" SELECT query execution: # Status of "equivalent" SELECT query execution:
Variable_name Value Variable_name Value
Handler_read_rnd_next 11 Handler_read_rnd_next 11
Sort_priority_queue_sorts 1
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
...@@ -1231,6 +1232,7 @@ Variable_name Value ...@@ -1231,6 +1232,7 @@ Variable_name Value
# Status of "equivalent" SELECT query execution: # Status of "equivalent" SELECT query execution:
Variable_name Value Variable_name Value
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Sort_priority_queue_sorts 1
Sort_rows 5 Sort_rows 5
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
...@@ -1275,6 +1277,7 @@ Variable_name Value ...@@ -1275,6 +1277,7 @@ Variable_name Value
# Status of "equivalent" SELECT query execution: # Status of "equivalent" SELECT query execution:
Variable_name Value Variable_name Value
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Sort_priority_queue_sorts 1
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
...@@ -1361,6 +1364,7 @@ Variable_name Value ...@@ -1361,6 +1364,7 @@ Variable_name Value
# Status of "equivalent" SELECT query execution: # Status of "equivalent" SELECT query execution:
Variable_name Value Variable_name Value
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Sort_priority_queue_sorts 1
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
...@@ -1407,6 +1411,7 @@ Variable_name Value ...@@ -1407,6 +1411,7 @@ Variable_name Value
Variable_name Value Variable_name Value
Handler_read_rnd 1 Handler_read_rnd 1
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Sort_priority_queue_sorts 1
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
...@@ -1540,6 +1545,7 @@ Variable_name Value ...@@ -1540,6 +1545,7 @@ Variable_name Value
# Status of "equivalent" SELECT query execution: # Status of "equivalent" SELECT query execution:
Variable_name Value Variable_name Value
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Sort_priority_queue_sorts 1
Sort_rows 5 Sort_rows 5
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
...@@ -1668,6 +1674,7 @@ Variable_name Value ...@@ -1668,6 +1674,7 @@ Variable_name Value
# Status of "equivalent" SELECT query execution: # Status of "equivalent" SELECT query execution:
Variable_name Value Variable_name Value
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Sort_priority_queue_sorts 1
Sort_rows 5 Sort_rows 5
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
...@@ -1675,6 +1682,7 @@ Variable_name Value ...@@ -1675,6 +1682,7 @@ Variable_name Value
Handler_read_rnd 5 Handler_read_rnd 5
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Handler_update 5 Handler_update 5
Sort_priority_queue_sorts 1
Sort_rows 5 Sort_rows 5
Sort_scan 1 Sort_scan 1
...@@ -1712,6 +1720,7 @@ Variable_name Value ...@@ -1712,6 +1720,7 @@ Variable_name Value
# Status of "equivalent" SELECT query execution: # Status of "equivalent" SELECT query execution:
Variable_name Value Variable_name Value
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Sort_priority_queue_sorts 1
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
...@@ -1719,6 +1728,7 @@ Variable_name Value ...@@ -1719,6 +1728,7 @@ Variable_name Value
Handler_read_rnd 1 Handler_read_rnd 1
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Handler_update 1 Handler_update 1
Sort_priority_queue_sorts 1
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -1799,12 +1809,14 @@ Variable_name Value ...@@ -1799,12 +1809,14 @@ Variable_name Value
# Status of "equivalent" SELECT query execution: # Status of "equivalent" SELECT query execution:
Variable_name Value Variable_name Value
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Sort_priority_queue_sorts 1
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
Variable_name Value Variable_name Value
Handler_read_rnd 1 Handler_read_rnd 1
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Sort_priority_queue_sorts 1
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -1844,12 +1856,14 @@ Variable_name Value ...@@ -1844,12 +1856,14 @@ Variable_name Value
Variable_name Value Variable_name Value
Handler_read_rnd 1 Handler_read_rnd 1
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Sort_priority_queue_sorts 1
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
Variable_name Value Variable_name Value
Handler_read_rnd 1 Handler_read_rnd 1
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Sort_priority_queue_sorts 1
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -1977,6 +1991,7 @@ Variable_name Value ...@@ -1977,6 +1991,7 @@ Variable_name Value
# Status of "equivalent" SELECT query execution: # Status of "equivalent" SELECT query execution:
Variable_name Value Variable_name Value
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Sort_priority_queue_sorts 1
Sort_rows 5 Sort_rows 5
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
...@@ -1984,6 +1999,7 @@ Variable_name Value ...@@ -1984,6 +1999,7 @@ Variable_name Value
Handler_read_rnd 5 Handler_read_rnd 5
Handler_read_rnd_next 27 Handler_read_rnd_next 27
Handler_update 4 Handler_update 4
Sort_priority_queue_sorts 1
Sort_rows 5 Sort_rows 5
Sort_scan 1 Sort_scan 1
...@@ -2067,6 +2083,7 @@ Variable_name Value ...@@ -2067,6 +2083,7 @@ Variable_name Value
Variable_name Value Variable_name Value
Handler_read_key 1 Handler_read_key 1
Handler_read_next 2 Handler_read_next 2
Sort_priority_queue_sorts 1
Sort_range 1 Sort_range 1
Sort_rows 2 Sort_rows 2
# Status of testing query execution: # Status of testing query execution:
...@@ -2075,6 +2092,7 @@ Handler_read_key 1 ...@@ -2075,6 +2092,7 @@ Handler_read_key 1
Handler_read_next 2 Handler_read_next 2
Handler_read_rnd 2 Handler_read_rnd 2
Handler_update 2 Handler_update 2
Sort_priority_queue_sorts 1
Sort_range 1 Sort_range 1
Sort_rows 2 Sort_rows 2
...@@ -2105,6 +2123,7 @@ Variable_name Value ...@@ -2105,6 +2123,7 @@ Variable_name Value
Variable_name Value Variable_name Value
Handler_read_key 1 Handler_read_key 1
Handler_read_next 2 Handler_read_next 2
Sort_priority_queue_sorts 1
Sort_range 1 Sort_range 1
Sort_rows 2 Sort_rows 2
# Status of testing query execution: # Status of testing query execution:
...@@ -2625,6 +2644,7 @@ Variable_name Value ...@@ -2625,6 +2644,7 @@ Variable_name Value
Variable_name Value Variable_name Value
Handler_read_key 3 Handler_read_key 3
Handler_read_rnd_next 10 Handler_read_rnd_next 10
Sort_priority_queue_sorts 1
Sort_rows 3 Sort_rows 3
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
...@@ -2632,6 +2652,7 @@ Variable_name Value ...@@ -2632,6 +2652,7 @@ Variable_name Value
Handler_read_key 3 Handler_read_key 3
Handler_read_rnd_next 8 Handler_read_rnd_next 8
Handler_update 1 Handler_update 1
Sort_priority_queue_sorts 1
Sort_rows 3 Sort_rows 3
Sort_scan 1 Sort_scan 1
...@@ -2674,12 +2695,14 @@ Variable_name Value ...@@ -2674,12 +2695,14 @@ Variable_name Value
Variable_name Value Variable_name Value
Handler_read_key 3 Handler_read_key 3
Handler_read_rnd_next 10 Handler_read_rnd_next 10
Sort_priority_queue_sorts 1
Sort_rows 3 Sort_rows 3
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
Variable_name Value Variable_name Value
Handler_read_key 3 Handler_read_key 3
Handler_read_rnd_next 10 Handler_read_rnd_next 10
Sort_priority_queue_sorts 1
Sort_rows 3 Sort_rows 3
Sort_scan 1 Sort_scan 1
...@@ -2724,12 +2747,14 @@ Variable_name Value ...@@ -2724,12 +2747,14 @@ Variable_name Value
Variable_name Value Variable_name Value
Handler_read_key 3 Handler_read_key 3
Handler_read_rnd_next 10 Handler_read_rnd_next 10
Sort_priority_queue_sorts 1
Sort_rows 3 Sort_rows 3
Sort_scan 1 Sort_scan 1
# Status of testing query execution: # Status of testing query execution:
Variable_name Value Variable_name Value
Handler_read_key 3 Handler_read_key 3
Handler_read_rnd_next 10 Handler_read_rnd_next 10
Sort_priority_queue_sorts 1
Sort_rows 3 Sort_rows 3
Sort_scan 1 Sort_scan 1
......
...@@ -45,6 +45,7 @@ FLUSH STATUS; ...@@ -45,6 +45,7 @@ FLUSH STATUS;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -153,6 +154,7 @@ f0 f1 f2 ...@@ -153,6 +154,7 @@ f0 f1 f2
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 100 Sort_rows 100
Sort_scan 1 Sort_scan 1
......
...@@ -18,6 +18,7 @@ NULL 15 ...@@ -18,6 +18,7 @@ NULL 15
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -36,6 +37,7 @@ DELETE FROM t2 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5; ...@@ -36,6 +37,7 @@ DELETE FROM t2 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -71,6 +73,7 @@ NULL 15 ...@@ -71,6 +73,7 @@ NULL 15
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 5 Sort_rows 5
Sort_scan 1 Sort_scan 1
...@@ -89,6 +92,7 @@ DELETE FROM t2 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5; ...@@ -89,6 +92,7 @@ DELETE FROM t2 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 8 Sort_rows 8
Sort_scan 1 Sort_scan 1
...@@ -121,6 +125,7 @@ a b c d ...@@ -121,6 +125,7 @@ a b c d
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -139,6 +144,7 @@ DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5; ...@@ -139,6 +144,7 @@ DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -175,6 +181,7 @@ a b c d ...@@ -175,6 +181,7 @@ a b c d
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -193,6 +200,7 @@ DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5; ...@@ -193,6 +200,7 @@ DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -223,6 +231,7 @@ a b c d ...@@ -223,6 +231,7 @@ a b c d
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -241,6 +250,7 @@ DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5; ...@@ -241,6 +250,7 @@ DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -269,6 +279,7 @@ a b c d ...@@ -269,6 +279,7 @@ a b c d
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -287,6 +298,7 @@ DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5; ...@@ -287,6 +298,7 @@ DELETE FROM t2 WHERE b = 10 ORDER BY a, c LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -318,6 +330,7 @@ NULL 13 13 ...@@ -318,6 +330,7 @@ NULL 13 13
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 1 Sort_range 1
Sort_rows 4 Sort_rows 4
Sort_scan 0 Sort_scan 0
...@@ -341,6 +354,7 @@ DELETE FROM t2 WHERE key1 < 13 or key2 < 14 ORDER BY key1; ...@@ -341,6 +354,7 @@ DELETE FROM t2 WHERE key1 < 13 or key2 < 14 ORDER BY key1;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 1 Sort_range 1
Sort_rows 4 Sort_rows 4
Sort_scan 0 Sort_scan 0
...@@ -378,6 +392,7 @@ NULL 14 ...@@ -378,6 +392,7 @@ NULL 14
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -396,6 +411,7 @@ DELETE FROM t2 WHERE i > 10 AND i <= 18 ORDER BY i DESC LIMIT 5; ...@@ -396,6 +411,7 @@ DELETE FROM t2 WHERE i > 10 AND i <= 18 ORDER BY i DESC LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -431,6 +447,7 @@ a b c ...@@ -431,6 +447,7 @@ a b c
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 5 Sort_rows 5
Sort_scan 1 Sort_scan 1
...@@ -449,6 +466,7 @@ DELETE FROM t2 ORDER BY a, b DESC LIMIT 5; ...@@ -449,6 +466,7 @@ DELETE FROM t2 ORDER BY a, b DESC LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 16 Sort_rows 16
Sort_scan 1 Sort_scan 1
...@@ -493,6 +511,7 @@ a b c ...@@ -493,6 +511,7 @@ a b c
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -517,6 +536,7 @@ a b c ...@@ -517,6 +536,7 @@ a b c
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -535,6 +555,7 @@ DELETE FROM t2 ORDER BY a DESC, b DESC LIMIT 5; ...@@ -535,6 +555,7 @@ DELETE FROM t2 ORDER BY a DESC, b DESC LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -571,6 +592,7 @@ NULL 15 ...@@ -571,6 +592,7 @@ NULL 15
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -589,6 +611,7 @@ UPDATE t2 SET a = 10 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5; ...@@ -589,6 +611,7 @@ UPDATE t2 SET a = 10 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -629,6 +652,7 @@ NULL 15 ...@@ -629,6 +652,7 @@ NULL 15
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 5 Sort_rows 5
Sort_scan 1 Sort_scan 1
...@@ -647,6 +671,7 @@ UPDATE t2 SET a = 10 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5; ...@@ -647,6 +671,7 @@ UPDATE t2 SET a = 10 WHERE i > 10 AND i <= 18 ORDER BY i LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 5 Sort_rows 5
Sort_scan 1 Sort_scan 1
...@@ -684,6 +709,7 @@ a b c d ...@@ -684,6 +709,7 @@ a b c d
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -702,6 +728,7 @@ UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5; ...@@ -702,6 +728,7 @@ UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -738,6 +765,7 @@ a b c d ...@@ -738,6 +765,7 @@ a b c d
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -756,6 +784,7 @@ UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5; ...@@ -756,6 +784,7 @@ UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -786,6 +815,7 @@ a b c d ...@@ -786,6 +815,7 @@ a b c d
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -804,6 +834,7 @@ UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5; ...@@ -804,6 +834,7 @@ UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -833,6 +864,7 @@ a b c d ...@@ -833,6 +864,7 @@ a b c d
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -851,6 +883,7 @@ UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5; ...@@ -851,6 +883,7 @@ UPDATE t2 SET d = 10 WHERE b = 10 ORDER BY a, c LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 1 Sort_rows 1
Sort_scan 1 Sort_scan 1
...@@ -883,6 +916,7 @@ NULL 13 13 ...@@ -883,6 +916,7 @@ NULL 13 13
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 1 Sort_range 1
Sort_rows 4 Sort_rows 4
Sort_scan 0 Sort_scan 0
...@@ -906,6 +940,7 @@ UPDATE t2 SET i = 123 WHERE key1 < 13 or key2 < 14 ORDER BY key1; ...@@ -906,6 +940,7 @@ UPDATE t2 SET i = 123 WHERE key1 < 13 or key2 < 14 ORDER BY key1;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 1 Sort_range 1
Sort_rows 4 Sort_rows 4
Sort_scan 0 Sort_scan 0
...@@ -947,6 +982,7 @@ NULL 14 ...@@ -947,6 +982,7 @@ NULL 14
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -965,6 +1001,7 @@ UPDATE t2 SET a = 10 WHERE i > 10 AND i <= 18 ORDER BY i DESC LIMIT 5; ...@@ -965,6 +1001,7 @@ UPDATE t2 SET a = 10 WHERE i > 10 AND i <= 18 ORDER BY i DESC LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -1005,6 +1042,7 @@ a b c ...@@ -1005,6 +1042,7 @@ a b c
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 5 Sort_rows 5
Sort_scan 1 Sort_scan 1
...@@ -1023,6 +1061,7 @@ UPDATE t2 SET c = 10 ORDER BY a, b DESC LIMIT 5; ...@@ -1023,6 +1061,7 @@ UPDATE t2 SET c = 10 ORDER BY a, b DESC LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 1
Sort_range 0 Sort_range 0
Sort_rows 5 Sort_rows 5
Sort_scan 1 Sort_scan 1
...@@ -1061,6 +1100,7 @@ a b c ...@@ -1061,6 +1100,7 @@ a b c
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -1085,6 +1125,7 @@ a b c ...@@ -1085,6 +1125,7 @@ a b c
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
...@@ -1103,6 +1144,7 @@ UPDATE t2 SET c = 10 ORDER BY a DESC, b DESC LIMIT 5; ...@@ -1103,6 +1144,7 @@ UPDATE t2 SET c = 10 ORDER BY a DESC, b DESC LIMIT 5;
SHOW SESSION STATUS LIKE 'Sort%'; SHOW SESSION STATUS LIKE 'Sort%';
Variable_name Value Variable_name Value
Sort_merge_passes 0 Sort_merge_passes 0
Sort_priority_queue_sorts 0
Sort_range 0 Sort_range 0
Sort_rows 0 Sort_rows 0
Sort_scan 0 Sort_scan 0
......
...@@ -226,6 +226,7 @@ ha_rows filesort(THD *thd, TABLE *table, SORT_FIELD *sortorder, uint s_length, ...@@ -226,6 +226,7 @@ ha_rows filesort(THD *thd, TABLE *table, SORT_FIELD *sortorder, uint s_length,
{ {
DBUG_PRINT("info", ("filesort PQ is applicable")); DBUG_PRINT("info", ("filesort PQ is applicable"));
thd->query_plan_flags|= QPLAN_FILESORT_PRIORITY_QUEUE; thd->query_plan_flags|= QPLAN_FILESORT_PRIORITY_QUEUE;
status_var_increment(thd->status_var.filesort_pq_sorts_);
const size_t compare_length= param.sort_length; const size_t compare_length= param.sort_length;
if (pq.init(param.max_rows, if (pq.init(param.max_rows,
true, // max_at_top true, // max_at_top
......
...@@ -7893,6 +7893,7 @@ SHOW_VAR status_vars[]= { ...@@ -7893,6 +7893,7 @@ SHOW_VAR status_vars[]= {
{"Sort_range", (char*) offsetof(STATUS_VAR, filesort_range_count_), SHOW_LONG_STATUS}, {"Sort_range", (char*) offsetof(STATUS_VAR, filesort_range_count_), SHOW_LONG_STATUS},
{"Sort_rows", (char*) offsetof(STATUS_VAR, filesort_rows_), SHOW_LONG_STATUS}, {"Sort_rows", (char*) offsetof(STATUS_VAR, filesort_rows_), SHOW_LONG_STATUS},
{"Sort_scan", (char*) offsetof(STATUS_VAR, filesort_scan_count_), SHOW_LONG_STATUS}, {"Sort_scan", (char*) offsetof(STATUS_VAR, filesort_scan_count_), SHOW_LONG_STATUS},
{"Sort_priority_queue_sorts",(char*) offsetof(STATUS_VAR, filesort_pq_sorts_), SHOW_LONG_STATUS},
#ifdef HAVE_OPENSSL #ifdef HAVE_OPENSSL
#ifndef EMBEDDED_LIBRARY #ifndef EMBEDDED_LIBRARY
{"Ssl_accept_renegotiates", (char*) &show_ssl_ctx_sess_accept_renegotiate, SHOW_SIMPLE_FUNC}, {"Ssl_accept_renegotiates", (char*) &show_ssl_ctx_sess_accept_renegotiate, SHOW_SIMPLE_FUNC},
......
...@@ -704,6 +704,7 @@ typedef struct system_status_var ...@@ -704,6 +704,7 @@ typedef struct system_status_var
ulong filesort_range_count_; ulong filesort_range_count_;
ulong filesort_rows_; ulong filesort_rows_;
ulong filesort_scan_count_; ulong filesort_scan_count_;
ulong filesort_pq_sorts_;
/* Prepared statements and binary protocol */ /* Prepared statements and binary protocol */
ulong com_stmt_prepare; ulong com_stmt_prepare;
ulong com_stmt_reprepare; ulong com_stmt_reprepare;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment