MySQL 緩存技術可提高數據庫查詢性能,緩存技術使數據的訪問速度更快。MySQL 查詢和更新語句執行時,會先在緩存中搜索需要的數據,如果找到,就不需要再次查詢硬盤,從而提高了查詢性能。
MySQL 使用兩種緩存技術:查詢緩存和 InnoDB 緩存。
查詢緩存
MySQL 查詢緩存存儲查詢的結果集,以便下一次查詢相同的數據時直接從緩存中獲取結果。MySQL 查詢緩存的優點是:節省 CPU 時間,快速回應查詢請求。但缺點也是很明顯的:查詢緩存中的數據容易變得過時并且只支持靜態數據。
SET GLOBAL query_cache_size = 1048576; # 設置查詢緩存區大小為1MB SHOW GLOBAL STATUS LIKE 'Qcache%'; # 查看查詢緩存統計信息
InnoDB 緩存
InnoDB 緩存是 InnoDB 存儲引擎的內部緩存,與查詢緩存不同,InnoDB 緩存不緩存查詢結果集,而是緩存頁面數據和索引數據。InnoDB 使用 LRU(最近最少使用)算法選擇哪些數據重要,緩存大小是通過 innodb_buffer_pool_size 參數設置。
SET GLOBAL innodb_buffer_pool_size = 134217728; # 設置 InnoDB 緩存區大小為128MB SHOW GLOBAL STATUS LIKE 'InnoDB%'; # 查看 InnoDB 緩存統計信息
這兩種緩存技術各有優劣,當需要提高查詢性能時,可選擇適當的緩存策略。
上一篇mysql 編寫倉庫
下一篇mysql 編寫函數