Mysql 記憶體表和臨時表的區別

2021-09-02 17:05:18 字數 282 閱讀 7275

記憶體表,就是放在記憶體中的表,所使用記憶體的大小可通過my.cnf中的max_heap_table_size指定,如max_heap_table_size=1024m。臨時表也是存放在記憶體中,臨時表最大所需記憶體需要通過tmp_table_size=1024m設定。

當資料超過臨時表的最大值設定時,自動轉為磁碟表,此時因需要進行io操作,效能會大大下降,而記憶體表不會,記憶體表滿後,會提示資料滿錯誤。

臨時表和記憶體表都可以人工建立,但臨時表更多的作用是系統自己建立後,組織資料以提公升效能,如子查詢,臨時表在多個連線之間不能共享。

mysql中記憶體表和臨時表的區別

建立 記憶體表create temporary table tmp table name varchar 10 not null value integer notnull type heap 注意 type heap必須要有臨時表 create temporary table tmp table ...

mysql中記憶體表和臨時表的區別

1.133.1 建立格式 記憶體表create temporary table tmp table name varchar 10 not null,value integer not null type heap 注意 type heap必須要有 臨時表create temporary table...

記憶體表和臨時表的區別

看到很多朋友對這些概念有些混淆,我來發表下我自己的觀點。記憶體表 1.引數控制 max heap table size 2.到達上線後報錯。3.表定義儲存在磁碟上,資料和索引儲存在記憶體裡面。4.不能包含text,blob等字段。臨時表 1.引數控制 tmp table size。2.到達上線後建立...