File: filesort_pack.test

package info (click to toggle)
mysql-8.0 8.0.43-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,924 kB
  • sloc: cpp: 4,684,605; ansic: 412,450; pascal: 108,398; java: 83,641; perl: 30,221; cs: 27,067; sql: 26,594; sh: 24,181; python: 21,816; yacc: 17,169; php: 11,522; xml: 7,388; javascript: 7,076; makefile: 2,194; lex: 1,075; awk: 670; asm: 520; objc: 183; ruby: 97; lisp: 86
file content (36 lines) | stat: -rw-r--r-- 816 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
CREATE TABLE t1 (
 id int(10) unsigned NOT NULL auto_increment,
 k int(10) unsigned NOT NULL default '0',
 c char(120) NOT NULL default '',
 pad char(60) NOT NULL default '',
 PRIMARY KEY (id),
 KEY k (k)
) charset latin1 engine=innodb;

--disable_query_log
let $count= 140;
while ($count)
{
  eval insert into t1(id, k) values ($count, $count);
  dec $count;
}
--enable_query_log

ANALYZE TABLE t1;

SET @@session.sort_buffer_size=32768;

FLUSH STATUS;
SHOW SESSION STATUS LIKE 'Sort%';

--disable_result_log
# This is similar to sysbench --oltp-order-ranges --oltp-range-size=1000
# With packed addon fields, we should get Sort_merge_passes = 0
SELECT c FROM t1 WHERE id between 2 and 1002 ORDER BY c;
--enable_result_log

SHOW SESSION STATUS LIKE 'Sort%';

SET @@session.sort_buffer_size=DEFAULT;

DROP TABLE t1;