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

MySQL数据库

开发平台:

Visual C++

  1. #
  2. # Testing of PRELOAD
  3. #
  4. --disable_warnings
  5. drop table if exists t1, t2;
  6. --enable_warnings
  7. create table t1 (
  8.   a int not null auto_increment,
  9.   b char(16) not null,
  10.   primary key (a),
  11.   key (b)
  12. );
  13. create table t2(
  14.   a int not null auto_increment,
  15.   b char(16) not null,
  16.   primary key (a),
  17.   key (b)
  18. );
  19. insert into t1(b) values 
  20.   ('test0'),
  21.   ('test1'),
  22.   ('test2'),
  23.   ('test3'),
  24.   ('test4'),
  25.   ('test5'),
  26.   ('test6'),
  27.   ('test7');
  28.   
  29. insert into t2(b) select b from t1;
  30. insert into t1(b) select b from t2;  
  31. insert into t2(b) select b from t1;  
  32. insert into t1(b) select b from t2;  
  33. insert into t2(b) select b from t1;  
  34. insert into t1(b) select b from t2;  
  35. insert into t2(b) select b from t1;  
  36. insert into t1(b) select b from t2;  
  37. insert into t2(b) select b from t1;  
  38. insert into t1(b) select b from t2;  
  39. insert into t2(b) select b from t1;  
  40. insert into t1(b) select b from t2;  
  41. insert into t2(b) select b from t1;  
  42. insert into t1(b) select b from t2;  
  43. insert into t2(b) select b from t1;  
  44. insert into t1(b) select b from t2;  
  45. insert into t2(b) select b from t1;  
  46. insert into t1(b) select b from t2;  
  47. select count(*) from t1;
  48. select count(*) from t2;
  49. flush tables; flush status;
  50. show status like "key_read%";
  51. select count(*) from t1 where b = 'test1';
  52. show status like "key_read%";
  53. select count(*) from t1 where b = 'test1';
  54. show status like "key_read%";
  55. flush tables; flush status;
  56. select @@preload_buffer_size;
  57. load index into cache t1;
  58. show status like "key_read%";
  59. select count(*) from t1 where b = 'test1';
  60. show status like "key_read%";
  61. flush tables; flush status;
  62. show status like "key_read%";
  63. set session preload_buffer_size=256*1024;
  64. select @@preload_buffer_size;
  65. load index into cache t1 ignore leaves;
  66. show status like "key_read%";
  67. select count(*) from t1 where b = 'test1';
  68. show status like "key_read%";
  69. flush tables; flush status; 
  70. show status like "key_read%";
  71. set session preload_buffer_size=1*1024;
  72. select @@preload_buffer_size;
  73. load index into cache t1, t2 key (primary,b) ignore leaves;
  74. show status like "key_read%";
  75. select count(*) from t1 where b = 'test1';
  76. select count(*) from t2 where b = 'test1';
  77. show status like "key_read%";
  78. flush tables; flush status;
  79. show status like "key_read%";
  80. load index into cache t3, t2 key (primary,b) ;
  81. show status like "key_read%";
  82. flush tables; flush status;
  83. show status like "key_read%";
  84. load index into cache t3 key (b), t2 key (c) ;
  85. show status like "key_read%";
  86. drop table t1, t2;
  87. # End of 4.1 tests