MySQL 查詢緩存的實際應用代碼示例

  以下的文章主要介紹的是MySQL 查詢緩存的實際應用代碼以及查看MySQL 查詢緩存的大小 ,碎片整理,清除緩存以及監視MySQL 查詢緩存性能的相關內容的描述,以下就是具體內容的描述,希望在你今後的學習中會有所幫助。

  1. MySQL> select @@query_cache_type;  
  2. +——————–+  
  3. | @@query_cache_type |  
  4. +——————–+  
  5. | ON |   
  6. +——————–+  
  7. MySQL> set query_cache_type=off;  
  8. MySQL> set query_cache_type=on;   php100.Com
  9. MySQL>   
  10. MySQL> select sql_cache id, title, body from article;  
  11. MySQL> select sql_no_cache id, title, body from article;  
  12. MySQL> show variables like have_query_cache;  
  13. +——————+——-+  
  14. | Variable_name | Value |  
  15. +——————+——-+  
  16. | have_query_cache | YES |   
  17. +——————+——-+   phP100.Com
  18. 1 row in set (0.00 sec)  

  查看MySQL 查詢緩存的大小

  1. MySQL> select @@global.query_cache_size;  
  2. +—————————+  
  3. | @@global.query_cache_size |  
  4. +—————————+  
  5. | 16777216 |   
  6. +—————————+  
  7. 1 row in set (0.00 sec)  
  8. MySQL> select @@query_cache_size;  
  9. +——————–+   phP100.Com
  10. | @@query_cache_size |  
  11. +——————–+  
  12. | 16777216 |   
  13. +——————–+  
  14. 1 row in set (0.00 sec) 

  查看最大緩存結果,如果結果集大於該數,不緩存。

  1. MySQL> select @@global.query_cache_limit;  
  2. +—————————-+  
  3. | @@global.query_cache_limit |  
  4. +—————————-+  
  5. | 1048576 |   
  6. +—————————-+  
  7. 1 row in set (0.00 sec) 

  碎片整理

  1. MySQL> flush query cache  
  2. > ;  
  3. Query OK, 0 rows affected (0.00 sec) 

  清除緩存

  1. MySQL> reset query cache   phP100.Com
  2. > ;  
  3. Query OK, 0 rows affected (0.00 sec

  監視MySQL 查詢緩存性能:

  1. MySQL> flush tables;  
  2. Query OK, 0 rows affected (0.04 sec)  
  3. MySQL> show status like qcache%;  
  4. +————————-+———-+  
  5. | Variable_name | Value |  
  6. +————————-+———-+  
  7. | Qcache_free_blocks | 1 |   
  8. | Qcache_free_memory | 16768408 |   
  9. | Qcache_hits | 6 |   
  10. | Qcache_inserts | 36 |    PhP100.Com
  11. | Qcache_lowmem_prunes | 0 |   
  12. | Qcache_not_cached | 86 |   
  13. | Qcache_queries_in_cache | 0 |   
  14. | Qcache_total_blocks | 1 |   
  15. +————————-+———-+  
  16. 8 rows in set (0.06 sec)  

  看看當前緩存中有多少條信息:

  1. MySQL> show status like qcache_q%;  
  2. +————————-+——-+  
  3. | Variable_name | Value |  
  4. +————————-+——-+  
  5. | Qcache_queries_in_cache | 0 |   
  6. +————————-+——-+  
  7. 1 row in set (0.00 sec)  

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *