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記憶體
- python多執行緒-共享全域性變數Python執行緒變數
- 深入理解Java的堆記憶體和執行緒記憶體Java記憶體執行緒
- openharmony 多執行緒的方式有哪些?兩個worker執行緒資料如何通訊、記憶體如何共享、與Java多執行緒有什麼區別?執行緒記憶體Java
- 共享記憶體對映(linux程式與執行緒學習筆記)記憶體Linux執行緒筆記
- Java 執行緒記憶體模型Java執行緒記憶體模型
- MySQL多執行緒同步MySQL-Transfer介紹TZMySql執行緒
- Jmeter將token設定為全域性變數並跨執行緒進行傳遞引數JMeter變數執行緒
- Jmeter-全域性變數跨執行緒組使用JMeter變數執行緒
- 執行緒池介紹執行緒
- [高頻面試]解釋執行緒池的各個引數含義面試執行緒
- JVM中記憶體和GC的介紹JVM記憶體GC
- 細數獨享IP和共享IP的優缺點
- 獨享代理IP優勢有哪些?獨享代理IP三大優勢介紹
- 多執行緒中,區域性變數與全域性變數哪個比較安全?執行緒變數
- Java多執行緒記憶體模型Java執行緒記憶體模型
- 詳細介紹執行緒的基本概念、屬性執行緒
- 1、多執行緒同步——CPU、core核、執行緒、記憶體執行緒記憶體
- 多執行緒系列(十七) -執行緒組介紹執行緒
- Java 執行時的記憶體劃分Java記憶體
- iOS 多執行緒介紹iOS執行緒
- Nexus.js介紹:一個多執行緒的JavaScript執行庫JS執行緒JavaScript
- 記憶體回收介紹記憶體
- CUDA記憶體介紹記憶體
- Java多執行緒之記憶體模型Java執行緒記憶體模型
- 從記憶體洩露、記憶體溢位和堆外記憶體,JVM優化引數配置引數記憶體洩露記憶體溢位JVM優化
- 高併發面試:執行緒池的七大引數?手寫一個執行緒池?面試執行緒
- MyBatis執行流程的各階段介紹MyBatis
- 記一次對Java多執行緒記憶體可見性的測試Java執行緒記憶體
- mysql一些引數的介紹MySql
- c#基礎,單執行緒,跨執行緒訪問和執行緒帶引數C#執行緒
- JVM執行緒和記憶體溢位問題排查思路JVM執行緒記憶體溢位
- Gil全域性解釋鎖和執行緒互斥鎖的關係執行緒
- Android執行緒池使用介紹Android執行緒
- mysql SQL Layer各個模組介紹MySql
- STM32記憶體結構介紹和FreeRTOS記憶體分配技巧記憶體
- 獨享IP與共享IP的三大區別