mysql各個記憶體引數的介紹,分執行緒獨享和全域性共享兩大類
mysql的記憶體引數分別有兩大類,一類是執行緒獨享的記憶體,一類是全域性共享的記憶體
執行緒獨享記憶體:join_buffer_size、sort_buffer_size、read_buffer_size順序讀取資料緩衝區、read_rnd_buffer_size隨機讀取資料緩衝區、bulk_insert_buffer_size批次插入暫存使用記憶體、tmp_table_size內部臨時表使用記憶體、max_heap_table_size記憶體表使用記憶體
join_buffer_size:The minimum size of the buffer that is used for plain index scans, range index scans, and joins that do not use indexes and thus perform full table scans.When Batched Key Access is used, the value of join_buffer_size defines how large the batch of keys is in each request to the storage engine用於普通索引掃描、範圍索引掃描和不使用索引因而執行全表掃描的聯接的緩衝區的最小大小。當使用批處理金鑰訪問時,join_buffer_size的值定義了向儲存引擎發出的每個請求中的批處理金鑰的大小
sort_buffer_size:Each session that must perform a sort allocates a buffer of this size每個必須執行排序的會話都會分配一個這種大小的緩衝區
read_buffer_size:Each thread that does a sequential scan for a MyISAM table allocates a buffer of this size (in bytes) for each table it scans對MyISAM表進行順序掃描的每個執行緒為其掃描的每個表分配一個這種大小(以位元組為單位)的緩衝區
tmp_table_size:The maximum size of internal in-memory temporary tables. 記憶體中內部臨時表的最大大小。mysql臨時表分為兩種,一種是使用create temporary table建立的,稱為為外部臨時表,一種是因union、order by、group by、distinct等語句產生的,稱為內部臨時表
max_heap_table_size:This variable sets the maximum size to which user-created MEMORY tables are permitted to grow此變數設定允許使用者建立的記憶體表增長的最大大小
全域性共享記憶體:key_buffer_size(MyISAM索引快取)、query_cache_size為快取查詢結果而分配的記憶體量、thread_cache_size伺服器應該快取多少個執行緒以供重用、table_open_cache所有執行緒開啟的表的數量、binlog_cache_size二進位制日誌緩衝區、innodb_log_buffer_size事務日誌緩衝區、innodb_buffer_pool_size資料和索引緩衝區
key_buffer_size:Index blocks for MyISAM tables are buffered and are shared by all threads.MyISAM表的索引塊被緩衝並由所有執行緒共享。
query_cache_size:The amount of memory allocated for caching query results為快取查詢結果而分配的記憶體量
thread_cache_size:How many threads the server should cache for reuse. When a client disconnects, the client's threads are put in the cache if there are fewer than thread_cache_size threads there.The default value= 8+(max_connections/100)
MySQL裡面為了提高客戶端請求建立連線過程的效能,提供了一個連線池也就是 Thread_Cache池,將空閒的連線執行緒放在連線池中,而不是立即銷燬.這樣的好處就是,當又有一個新的請求的時候,mysql不會立即去建立連線 執行緒,而是先去Thread_Cache中去查詢空閒的連線執行緒,如果存在則直接使用,不存在才建立新的連線執行緒.
table_open_cache:The number of open tables for all threads. 為所有執行緒開啟的表的數量。
binlog_cache_size:The size of the cache to hold changes to the binary log during a transaction.在事務處理期間,快取儲存對二進位制日誌的更改的大小。
innodb_log_buffer_size:The size in bytes of the buffer that InnoDB uses to write to the log files on disk.InnoDB用來寫入磁碟上的日誌檔案的緩衝區的位元組大小。
innodb_buffer_pool_size:The size in bytes of the buffer pool, the memory area where InnoDB caches table and index data. The default value is 134217728 bytes (128MB).緩衝池的位元組大小,InnoDB快取表和索引資料的記憶體區域。預設值是134217728位元組(128MB)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2692232/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql執行緒獨佔記憶體引數MySql執行緒記憶體
- MySQL記憶體執行緒獨享使用的方法MySql記憶體執行緒
- mysql記憶體引數分類大全MySql記憶體
- python多執行緒-共享全域性變數Python執行緒變數
- 各個執行緒 Autorelease 物件的記憶體管理執行緒物件記憶體
- linux下的記憶體共享引數Linux記憶體
- 深入理解Java的堆記憶體和執行緒記憶體Java記憶體執行緒
- openharmony 多執行緒的方式有哪些?兩個worker執行緒資料如何通訊、記憶體如何共享、與Java多執行緒有什麼區別?執行緒記憶體Java
- MySQL Replication的複製執行緒介紹MySql執行緒
- 執行緒相關記憶體引數sort_buffer/join_buffer等的記憶體分配時機執行緒記憶體
- iOS全域性變數與屬性的記憶體管理iOS變數記憶體
- 細數獨享IP和共享IP的優缺點
- 執行緒併發執行緒安全介紹及java.util.concurrent包下類介紹執行緒Java
- Java 併發和多執行緒(一) Java併發性和多執行緒介紹[轉]Java執行緒
- 獨享代理IP優勢有哪些?獨享代理IP三大優勢介紹
- [高頻面試]解釋執行緒池的各個引數含義面試執行緒
- Java 執行緒記憶體模型Java執行緒記憶體模型
- MySQL主執行緒、從I/O執行緒和從SQL執行緒的State列常見狀態介紹MySql執行緒
- Jmeter將token設定為全域性變數並跨執行緒進行傳遞引數JMeter變數執行緒
- 共享記憶體對映(linux程式與執行緒學習筆記)記憶體Linux執行緒筆記
- Jmeter-全域性變數跨執行緒組使用JMeter變數執行緒
- MySQL多執行緒同步MySQL-Transfer介紹TZMySql執行緒
- mysql用於分配記憶體的引數MySql記憶體
- innodb的幾個記憶體引數記憶體
- 多執行緒中,區域性變數與全域性變數哪個比較安全?執行緒變數
- 執行緒池介紹執行緒
- IOS執行緒介紹iOS執行緒
- 【MYSQL】兩階段提交及相關引數介紹MySql
- 執行緒通訊機制:共享記憶體 VS 訊息傳遞執行緒記憶體
- JVM中記憶體和GC的介紹JVM記憶體GC
- Java多執行緒記憶體模型Java執行緒記憶體模型
- MySQL記憶體引數及調整MySql記憶體
- 1、多執行緒同步——CPU、core核、執行緒、記憶體執行緒記憶體
- 詳細介紹執行緒的基本概念、屬性執行緒
- 高併發面試:執行緒池的七大引數?手寫一個執行緒池?面試執行緒
- Java 執行時的記憶體劃分Java記憶體
- JNI多執行緒與全域性引用執行緒
- 獨享IP與共享IP的三大區別