summaryrefslogtreecommitdiff
path: root/mysql-test/suite/perfschema/t/query_cache.test
blob: d5e3008d3aff34708c76584b0f31d25a2596a7a9 (plain)
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
# Tests for PERFORMANCE_SCHEMA

# This test verifies that performance schema tables, because they contain
# data that is volatile, are never cached in the query cache.

--source include/have_query_cache.inc
--source include/not_embedded.inc
--source include/have_perfschema.inc

set @save_query_cache_size=@@query_cache_size;

--disable_warnings
drop table if exists t1;
--enable_warnings

create table t1 (a int not null);
insert into t1 values (1), (2), (3);

SET GLOBAL query_cache_size=1355776;

flush query cache;
reset query cache;
flush status;

select * from t1;

show global status like "Qcache_queries_in_cache";
show global status like "Qcache_inserts";
show global status like "Qcache_hits";

select * from t1;

show global status like "Qcache_queries_in_cache";
show global status like "Qcache_inserts";
show global status like "Qcache_hits";

select spins from performance_schema.events_waits_current order by event_name limit 1;

--replace_result CYCLE {CYCLE_OR_NANOSECOND} NANOSECOND {CYCLE_OR_NANOSECOND}
select * from performance_schema.setup_timers where name='wait';

show global status like "Qcache_queries_in_cache";
show global status like "Qcache_inserts";
show global status like "Qcache_hits";

select spins from performance_schema.events_waits_current order by event_name limit 1;

--replace_result CYCLE {CYCLE_OR_NANOSECOND} NANOSECOND {CYCLE_OR_NANOSECOND}
select * from performance_schema.setup_timers where name='wait';

show global status like "Qcache_queries_in_cache";
show global status like "Qcache_inserts";
show global status like "Qcache_hits";

SET GLOBAL query_cache_size=@save_query_cache_size;

drop table t1;
flush status;