《Mysql實(shí)例mysql tmp_table_size和max_heap_table_size大小配置》要點(diǎn):
本文介紹了Mysql實(shí)例mysql tmp_table_size和max_heap_table_size大小配置,希望對您有用。如果有疑問,可以聯(lián)系我們。
MYSQL學(xué)習(xí)針對16G內(nèi)存的配置
MYSQL學(xué)習(xí)先說下tmp_table_size吧:
MYSQL學(xué)習(xí)它規(guī)定了內(nèi)部內(nèi)存臨時表的最大值,每個線程都要分配.(實(shí)際起限制作用的是tmp_table_size和max_heap_table_size的最小值.)如果內(nèi)存臨時表超越了限制,MySQL就會自動地把它轉(zhuǎn)化為基于磁盤的MyISAM表,存儲在指定的tmpdir目錄下,默認(rèn):
MYSQL學(xué)習(xí)mysql> show variables like "tmpdir";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| tmpdir??????? | /tmp/ |
+---------------+-------+
MYSQL學(xué)習(xí)優(yōu)化查詢語句的時候,要避免使用臨時表,如果實(shí)在避免不了的話,要保證這些臨時表是存在內(nèi)存中的.如果必要的話并且你有很多group by語句,并且你有很多內(nèi)存,增大tmp_table_size(和max_heap_table_size)的值.這個變量不適用與用戶創(chuàng)建的內(nèi)存表(memory table).
MYSQL學(xué)習(xí)你可以比擬內(nèi)部基于磁盤的臨時表的總數(shù)和創(chuàng)建在內(nèi)存中的臨時表的總數(shù)(Created_tmp_disk_tables和Created_tmp_tables),一般的比例關(guān)系是:
MYSQL學(xué)習(xí)Created_tmp_disk_tables/Created_tmp_tables<5%
MYSQL學(xué)習(xí)max_heap_table_size
MYSQL學(xué)習(xí)這個變量定義了用戶可以創(chuàng)立的內(nèi)存表(memory table)的大小.這個值用來計(jì)算內(nèi)存表的最大行數(shù)值.這個變量支持動態(tài)改變,即set @max_heap_table_size=#
MYSQL學(xué)習(xí),但是對于已經(jīng)存在的內(nèi)存表就沒有什么用了,除非這個表被重新創(chuàng)立(create table)或者修改(alter table)或者truncate table.服務(wù)重啟也會設(shè)置已經(jīng)存在的內(nèi)存表為全局max_heap_table_size的值.
MYSQL學(xué)習(xí)這個變量和tmp_table_size一起限制了內(nèi)部內(nèi)存表的年夜小.
MYSQL學(xué)習(xí)如果想知道更詳細(xì)的信息,請參考“MySQL是怎樣使用內(nèi)部暫時表的?”和“內(nèi)存存儲引擎”
維易PHP培訓(xùn)學(xué)院每天發(fā)布《Mysql實(shí)例mysql tmp_table_size和max_heap_table_size大小配置》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/11947.html