mariadb/mysql-test/suite/perfschema/t/query_cache.test
2024-10-03 16:09:56 +03:00

65 lines
1.8 KiB
Text

# 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 global status;
--disable_ps2_protocol
--disable_cursor_protocol
select * from t1;
--enable_cursor_protocol
show global status like "Qcache_queries_in_cache";
show global status like "Qcache_inserts";
show global status like "Qcache_hits";
--disable_cursor_protocol
select * from t1;
--enable_cursor_protocol
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';
--enable_ps2_protocol
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 global status;