mysql三大引擎InnoDB,MyISAM,MEMORY(heap)

mysql三大引擎:InnoDB,MyISAM,MEMORY。

InnoDB:磁盘表,支持事务,支持行级锁,B+Tree索引

MyISAM:磁盘表,不支持事务,支持表级锁,B+Tree索引

MEMORY(Heap):内存表,不支持事务,表级锁,Hash索引,不支持Blob,Text大类型

 

mysql变量max_heap_table_size默认大小16777216 Byte (16m)

 

理论上说,只要你内存足够大,表就可以有多大,但是默认内存表默认的大小是64MB(如果我没有记错的话),如果我们要设置成自己想要的大小,我们需要在my.cnf文件中修改max_heap_table_size参数,修改完成后,要重启MySQL才会生效。如果我们的表满了以后,MySQL并不会把数据存储到硬盘中,而是直接报表已经满了的错误。

转:http://my.oschina.net/lanzp/blog/369179

 

show variables like '%table_size%';//单表最大大小为下面对应的值

result:(B)

max_heap_table_size16777216B

tmp_table_size                36700160B

 

 

1.临时表:表建在内存里,数据在内存里

2.内存表:表建在磁盘里,数据在内存里

内存表:

1. 通过参数控制:max_heap_table_size大小来设定内存表大小

2. 到达max_heap_table_size所设置的内存上限后报错。

3. 表定义保存在磁盘上,数据和索引保存在内存里面。

4. 不能包含TEXT、BLOB等字段。

临时表:

1. 通过参数控制:tmp_table_size大小来设定临时表大小。

2. 到达tmp_table_size上限后会在磁盘上创建临时文件。

3. 表定义和数据都在内存里。

4. 可以包含TEXT, BLOB等字段。

转:http://www.dewen.org/q/255/mysql+%E4%BB%80%E4%B9%88%E6%A0%B7%E6%83%85%E5%86%B5%E4%BD%BF%E7%94%A8%E4%B8%B4%E6%97%B6%E8%A1%A8%EF%BC%8C%E5%86%85%E5%AD%98%E8%A1%A8%E6%9D%A5%E5%8A%A0%E5%BF%AB%E9%80%9F%E5%BA%A6%EF%BC%9F

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值