mysql tmp_table_size和max_heap_table_size大小配置
針對(duì)16G內(nèi)存的配置
tmp_table_size = 64M
先說(shuō)下tmp_table_size吧:
它規(guī)定了內(nèi)部?jī)?nèi)存臨時(shí)表的最大值,每個(gè)線(xiàn)程都要分配。(實(shí)際起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果內(nèi)存臨時(shí)表超出了限制,MySQL就會(huì)自動(dòng)地把它轉(zhuǎn)化為基于磁盤(pán)的MyISAM表,存儲(chǔ)在指定的tmpdir目錄下,默認(rèn):
mysql> show variables like "tmpdir";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| tmpdir | /tmp/ |
+---------------+-------+
優(yōu)化查詢(xún)語(yǔ)句的時(shí)候,要避免使用臨時(shí)表,如果實(shí)在避免不了的話(huà),要保證這些臨時(shí)表是存在內(nèi)存中的。如果需要的話(huà)并且你有很多group by語(yǔ)句,并且你有很多內(nèi)存,增大tmp_table_size(和max_heap_table_size)的值。這個(gè)變量不適用與用戶(hù)創(chuàng)建的內(nèi)存表(memory table).
你可以比較內(nèi)部基于磁盤(pán)的臨時(shí)表的總數(shù)和創(chuàng)建在內(nèi)存中的臨時(shí)表的總數(shù)(Created_tmp_disk_tables和Created_tmp_tables),一般的比例關(guān)系是:
Created_tmp_disk_tables/Created_tmp_tables<5%
這個(gè)變量定義了用戶(hù)可以創(chuàng)建的內(nèi)存表(memory table)的大小.這個(gè)值用來(lái)計(jì)算內(nèi)存表的最大行數(shù)值。這個(gè)變量支持動(dòng)態(tài)改變,即set @max_heap_table_size=#
,但是對(duì)于已經(jīng)存在的內(nèi)存表就沒(méi)有什么用了,除非這個(gè)表被重新創(chuàng)建(create table)或者修改(alter table)或者truncate table。服務(wù)重啟也會(huì)設(shè)置已經(jīng)存在的內(nèi)存表為全局max_heap_table_size的值。
這個(gè)變量和tmp_table_size一起限制了內(nèi)部?jī)?nèi)存表的大小。
如果想知道更詳細(xì)的信息,請(qǐng)參考“MySQL是怎樣使用內(nèi)部臨時(shí)表的?”和“內(nèi)存存儲(chǔ)引擎”
相關(guān)文章
MySql常用數(shù)據(jù)類(lèi)型與操作詳解
MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在WEB應(yīng)用方面 MySQL 是最好的。本文將為大家詳細(xì)介紹一下MySQL的基礎(chǔ)操作,需要的可以參考一下2022-07-07讓MySQL數(shù)據(jù)庫(kù)跑的更快 為數(shù)據(jù)減肥
在MySQL數(shù)據(jù)庫(kù)優(yōu)化工作中,使數(shù)據(jù)盡可能的小,使表在硬盤(pán)上占據(jù)的空間盡可能的小,這是最常用、也是最有效的手段之一。2011-03-03mac安裝mysql數(shù)據(jù)庫(kù)及配置環(huán)境變量的圖文教程
本文主要介紹了mac安裝mysql數(shù)據(jù)庫(kù)及配置環(huán)境變量,文中通過(guò)圖文代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08mysql提示[Warning] Invalid (old?) table or database name問(wèn)題的解決方
今天一個(gè)朋友的上服務(wù)器出現(xiàn)[Warning] Invalid (old?) table or database name問(wèn)題,通過(guò)分析binlog日志發(fā)現(xiàn),在以下sql語(yǔ)句中出現(xiàn)問(wèn)題,由于涉及敏感內(nèi)容,用sql語(yǔ)法表示2012-07-07Mysql查詢(xún)時(shí)間區(qū)間日期列表實(shí)例代碼
最近常用到mysql的日期范圍搜索,下面這篇文章主要給大家介紹了關(guān)于Mysql查詢(xún)時(shí)間區(qū)間日期列表的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04Mysql主從三種復(fù)制模式(異步復(fù)制,半同步復(fù)制,組復(fù)制)
這篇文章主要介紹了Mysql主從三種復(fù)制模式(異步復(fù)制,半同步復(fù)制,組復(fù)制),MySQL異步復(fù)制是主從復(fù)制過(guò)程中默認(rèn)的復(fù)制模式,下文簡(jiǎn)單介紹,感興趣的朋友可以參考一下2022-08-08