query_cache_notembedded.test
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. -- source include/have_query_cache.inc
  2. -- source include/not_embedded.inc
  3. #
  4. # Tests with query cache
  5. #
  6. set GLOBAL query_cache_size=1355776;
  7. # Reset query cache variables.
  8. flush query cache; # This crashed in some versions
  9. flush query cache; # This crashed in some versions
  10. reset query cache;
  11. flush status;
  12. --disable_warnings
  13. drop table if exists t1, t2, t3, t11, t21;
  14. --enable_warnings
  15. #
  16. # FLUSH QUERY CACHE
  17. #
  18. create table t1 (a int not null);
  19. insert into t1 values (1),(2),(3);
  20. create table t2 (a int not null);
  21. insert into t2 values (1),(2),(3);
  22. select * from t1;
  23. select * from t2;
  24. insert into t1 values (4);
  25. show status like "Qcache_free_blocks";
  26. flush query cache;
  27. show status like "Qcache_free_blocks";
  28. drop table t1, t2;
  29. # With join results...
  30. create table t1 (a text not null);
  31. create table t11 (a text not null);
  32. create table t2 (a text not null);
  33. create table t21 (a text not null);
  34. create table t3 (a text not null);
  35. insert into t1 values("1111111111111111111111111111111111111111111111111111");
  36. insert into t2 select * from t1;
  37. insert into t1 select * from t2;
  38. insert into t2 select * from t1;
  39. insert into t1 select * from t2;
  40. insert into t2 select * from t1;
  41. insert into t1 select * from t2;
  42. insert into t2 select * from t1;
  43. insert into t1 select * from t2;
  44. insert into t2 select * from t1;
  45. insert into t1 select * from t2;
  46. insert into t2 select * from t1;
  47. insert into t1 select * from t2;
  48. insert into t2 select * from t1;
  49. insert into t1 select * from t2;
  50. insert into t2 select * from t1;
  51. # t11 and t21 must be over 4Kb (QUERY_CACHE_MIN_RESULT_DATA_SIZE)
  52. insert into t11 select * from t1;
  53. insert into t21 select * from t1;
  54. insert into t1 select * from t2;
  55. insert into t2 select * from t1;
  56. insert into t1 select * from t2;
  57. #results of t3 must  be > 0.5Mb
  58. insert into t3 select * from t1;
  59. insert into t3 select * from t2;
  60. insert into t3 select * from t1;
  61. disable_result_log;
  62. select * from t11;
  63. select * from t21;
  64. enable_result_log;
  65. show status like "Qcache_total_blocks";
  66. show status like "Qcache_free_blocks";
  67. disable_result_log;
  68. insert into t11 values("");
  69. select * from t3;
  70. enable_result_log;
  71. show status like "Qcache_total_blocks";
  72. show status like "Qcache_free_blocks";
  73. flush query cache;
  74. show status like "Qcache_total_blocks";
  75. show status like "Qcache_free_blocks";
  76. drop table t1, t2, t3, t11, t21;
  77. #
  78. # do not use QC if tables locked (BUG#12385)
  79. #
  80. connect (root,localhost,root,,test,$MASTER_MYPORT,master.sock);
  81. connection root;
  82. CREATE TABLE t1 ( a INT NOT NULL PRIMARY KEY AUTO_INCREMENT ) ENGINE =
  83. MyISAM;
  84. LOCK TABLE t1 READ LOCAL;
  85. connect (root2,localhost,root,,test,$MASTER_MYPORT,master.sock);
  86. connection root2;
  87. INSERT INTO t1 VALUES (), (), ();
  88. connection root;
  89. SELECT * FROM t1;
  90. connection root2;
  91. SELECT * FROM t1;
  92. connection root;
  93. SELECT * FROM t1;
  94. drop table t1;
  95. set GLOBAL query_cache_size=0;