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

2021-10-01 21:01:43 字數 985 閱讀 7437

建立**

記憶體表

create

temporary

table tmp_table (

name varchar(10

)not

null

,value

integer

notnull

)type

= heap 注意: type

= heap必須要有

臨時表

create

temporary

table tmp_table(

name varchar(10

)not

null

,value

intnot

null

);

引擎

記憶體表預設:memory

臨時表:myisam共享

表記憶體表

臨時表引擎

memory

myisam

表結構堆

儲存表結構儲存在磁碟中,資料儲存在記憶體中

表結構和資料都儲存在記憶體中

斷開連線

還剩下表結構需要turncate掉

啥都不剩

效能記憶體表由於所有的內容都是放在記憶體中,所以相對來說,速度較快但是同時資料的維護較為困難(hash索引把資料儲存在記憶體中,具有更快的速度,可以用來快取)

共享共享所有不能重名

執行緒獨有 show create 檢視 程序名_名字

記憶體表:

引數控制:max_heap_table_size

到達上線後報錯。

表定義儲存在磁碟上,資料和索引儲存在記憶體裡面。

不能包含text,blob等字段。

臨時表:

引數控制:tmp_table_size。

到達上線後建立檔案在磁碟上。

表定義和資料都在記憶體裡。

可以包含text, blob等字段。

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...

mysql記憶體表 臨時表

臨時表 表在記憶體裡,資料在記憶體裡。記憶體表 表在磁碟裡,資料在記憶體裡。my.cnf檔案中修改 臨時表和記憶體表的大小 mysqld 記憶體表容量 max heap table size 1024m 臨時表容量 tmp table size 1024m 建立 記憶體表 注意引擎是memory c...

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

記憶體表,就是放在記憶體中的表,所使用記憶體的大小可通過my.cnf中的max heap table size指定,如max heap table size 1024m。臨時表也是存放在記憶體中,臨時表最大所需記憶體需要通過tmp table size 1024m設定。當資料超過臨時表的最大值設定時...