国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql的tmp_table_size和max_heap_table_size

2024-07-24 12:40:12
字體:
來源:轉載
供稿:網友

先說下tmp_table_size吧:

它規定了內部內存臨時表的最大值,每個線程都要分配。(實際起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果內存臨時表超出了限制,MySQL就會自動地把它轉化為基于磁盤的MyISAM表,存儲在指定的tmpdir目錄下,默認:

mysql> show variables like "tmpdir";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| tmpdir        | /tmp/ |
+---------------+-------+

優化查詢語句的時候,要避免使用臨時表,如果實在避免不了的話,要保證這些臨時表是存在內存中的。如果需要的話并且你有很多group by語句,并且你有很多內存,增大tmp_table_size(和max_heap_table_size)的值。這個變量不適用與用戶創建的內存表(memory table).

你可以比較內部基于磁盤的臨時表的總數和創建在內存中的臨時表的總數(Created_tmp_disk_tables和Created_tmp_tables),一般的比例關系是:

Created_tmp_disk_tables/Created_tmp_tables<5%

max_heap_table_size

這個變量定義了用戶可以創建的內存表(memory table)的大小.這個值用來計算內存表的最大行數值。這個變量支持動態改變,即set @max_heap_table_size=#

,但是對于已經存在的內存表就沒有什么用了,除非這個表被重新創建(create table)或者修改(alter table)或者truncate table。服務重啟也會設置已經存在的內存表為全局max_heap_table_size的值。

這個變量和tmp_table_size一起限制了內部內存表的大小。

如果想知道更詳細的信息,請參考“MySQL是怎樣使用內部臨時表的?”和“內存存儲引擎

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广平县| 集安市| 惠来县| 古交市| 从江县| 曲周县| 醴陵市| 乌苏市| 虹口区| 临清市| 揭西县| 绥江县| 旬邑县| 彝良县| 简阳市| 榆中县| 乌恰县| 台南市| 定兴县| 鹿泉市| 南华县| 娄底市| 宿松县| 葫芦岛市| 天镇县| 淅川县| 搜索| 巴东县| 亳州市| 武邑县| 神农架林区| 宁强县| 乐安县| 马尔康县| 阿合奇县| 天长市| 沛县| 庆安县| 叙永县| 若羌县| 双流县|