MySQL內存結構


實際上MySQL內存的組成和Oracle類似,也可以分為SGA(系統全局區)和PGA(程序緩存區)。

mysql>show variables like "%buffer%";

一、SGA

1.innodb_buffer_bool

用來緩存Innodb表的數據、索引、插入緩沖、數據字典等信息。

2.innodb_log_buffer

事務在內存中的緩沖,即red log buffer的大小

3.query cache

高速查詢緩存,在生產環境中建議關閉。

4.key_buffer_size

用於MyISAM存儲引擎,緩存MyISAM存儲。

引擎表的索引文件(區別於innodb_buffer_poll數據和索引緩存)

5.innodb_additional_mem_pool_size

用來緩存數據字典信息和其它內部數據結構的內存池的大小。MySQL5.7.4中該參數取消。

 

二、PGA

1.sort_buffer_size

主要用於SQL語句在內存中的臨時排序

2.join_buffer_size

表連接使用,用於BKA,MySQL5.6之后開始支持。

3.read_buffer_size

表順序掃描的緩存,只能應用於MyISAM表存儲引擎。

4.read_rnd_buffer_size

MySQL隨機讀緩沖區大小,用於做mrr,mrr是MySQL5.6之后才有的特性。

5.tmp_table_size

SQL語句在排序或分組時沒有用到索引,就會使用臨時表空間。

6.max_heap_table_size

管理heap,memory存儲引擎表。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM