📄 ndb_cache_multi2.test
字号:
-- source include/have_query_cache.inc-- source include/have_ndb.inc-- source include/have_multi_ndb.inc-- source include/not_embedded.inc--disable_warningsdrop table if exists t1, t2;--enable_warnings# Turn on and reset query cache on server1connection server1;echo == Connected to server1 ==;set GLOBAL query_cache_type=on;set GLOBAL query_cache_size=1355776;set GLOBAL ndb_cache_check_time=1;reset query cache;flush status;# Turn on and reset query cache on server2connection server2;echo == Connected to server2 ==;set GLOBAL query_cache_type=on;set GLOBAL query_cache_size=1355776;set GLOBAL ndb_cache_check_time=1;reset query cache;flush status;# Create test tables in NDB and load them into cache# on server1connection server1;echo == Connected to server1 ==;create table t1 (a int) engine=ndbcluster;create table t2 (a int) engine=ndbcluster;insert into t1 value (2);insert into t2 value (3);select * from t1;# Run the check query once to load it into qc on server1select a != 3 from t1;select * from t2;show status like "Qcache_queries_in_cache";show status like "Qcache_inserts";show status like "Qcache_hits";# Connect server2, load table in to cache, then update the tableconnection server2;echo == Connected to server2 ==;show status like "Qcache_queries_in_cache";show status like "Qcache_inserts";show status like "Qcache_hits";select * from t1;show status like "Qcache_queries_in_cache";show status like "Qcache_inserts";show status like "Qcache_hits";update t1 set a=3 where a=2;# Connect to server1 and check that cache is invalidated# and correct data is returnedconnection server1;echo == Connected to server1 ==;# Loop and wait for max 10 seconds until query cache thread# has invalidated the cache and the column a in t1 is equal to 3let $retries=20;while (`select a != 3 from t1`){ dec $retries; if (!$retries) { The query_cache thread failed to invalidate query_cache in 10 seconds; } sleep 0.5;}# Select from t1 one last time for the result file# Column a should be 3select * from t1;# There should now be three queries in the cacheshow status like "Qcache_queries_in_cache";drop table t1, t2;# Turn off and reset query cache on server1 and server2connection server1;set GLOBAL query_cache_size=0;set GLOBAL ndb_cache_check_time=0;reset query cache;flush status;connection server2;set GLOBAL query_cache_size=0;set GLOBAL ndb_cache_check_time=0;reset query cache;flush status;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -