File: index_read.test

package info (click to toggle)
mariadb-10.0 10.0.16-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 416,512 kB
  • sloc: cpp: 1,351,103; ansic: 803,086; perl: 59,621; pascal: 32,136; sh: 25,156; yacc: 14,897; xml: 5,194; sql: 4,651; cs: 4,647; makefile: 4,113; python: 2,526; ruby: 2,496; lex: 1,427; asm: 295; awk: 54; php: 22; sed: 16
file content (138 lines) | stat: -rw-r--r-- 3,500 bytes parent folder | download | duplicates (6)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# ticket 895 is a query optimization problem with the primary key

--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE = 'tokudb';

--disable_warnings
DROP TABLE IF EXISTS foo;
--enable_warnings

create table foo (a int, b int, c int, primary key (a,b));
insert into foo values (1,10,100),(2,20,200),(3,30,300),(4,40,400),(5,50,500),(6,60,600);
insert into foo values (1,100,100),(2,200,200),(3,300,300),(4,400,400),(5,500,500),(6,600,600);

select * from foo;

#HA_READ_KEY_EXACT
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a=4;
select * from foo where a=4;

#HA_READ_AFTER_KEY
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a>4;
select * from foo where a>4;

#HA_READ_BEFORE_KEY
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a<3 order by a desc;
select * from foo where a<3 order by a desc;

#HA_READ_KEY_OR_NEXT
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a>=4;
select * from foo where a>=4;

#HA_READ_KEY_OR_PREV not used anymore

#HA_READ_PREFIX_LAST_OR_PREV
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a<=2 order by a desc;
select * from foo where a<=2 order by a desc;

#HA_READ_PREFIX_LAST
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a=4 order by b desc;
select * from foo where a=4 order by b desc;


alter table foo drop primary key;
alter table foo add index clst_a(a,b) clustering=yes;

#HA_READ_KEY_EXACT
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a=4;
select * from foo where a=4;

#HA_READ_AFTER_KEY
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a>4;
select * from foo where a>4;

#HA_READ_BEFORE_KEY
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a<3 order by a desc;
select * from foo where a<3 order by a desc;

#HA_READ_KEY_OR_NEXT
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a>=4;
select * from foo where a>=4;

#HA_READ_KEY_OR_PREV not used anymore

#HA_READ_PREFIX_LAST_OR_PREV
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a<=2 order by a desc;
select * from foo where a<=2 order by a desc;

#HA_READ_PREFIX_LAST
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a=4 order by b desc;
select * from foo where a=4 order by b desc;

alter table foo drop index clst_a;
alter table foo add index (a,b);

#HA_READ_KEY_EXACT
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a=4;
select * from foo where a=4;

#HA_READ_AFTER_KEY
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a>4;
select * from foo where a>4;

#HA_READ_BEFORE_KEY
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a<3 order by a desc;
select * from foo where a<3 order by a desc;

#HA_READ_KEY_OR_NEXT
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a>=4;
select * from foo where a>=4;

#HA_READ_KEY_OR_PREV not used anymore

#HA_READ_PREFIX_LAST_OR_PREV
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a<=2 order by a desc;
select * from foo where a<=2 order by a desc;

#HA_READ_PREFIX_LAST
# ignore rows column
--replace_column 9 NULL;
explain select * from foo where a=4 order by b desc;
select * from foo where a=4 order by b desc;

# Final cleanup.
DROP TABLE foo;