最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL的内存表_MySQL

来源:动视网 责编:小采 时间:2020-11-09 17:55:15
文档

MySQL的内存表_MySQL

MySQL的内存表_MySQL:“内存表”顾名思义创建在内存中的表,真是这样吗?其实不然,MySQL的内存表,表结构创建在磁盘上,数据存放在内存中,所以当MySQL启动着的时候,这个表是存在的,数据也是存在的,如果用户有查看这个表的权限,在所有会话里面,都可以访问这个内存
推荐度:
导读MySQL的内存表_MySQL:“内存表”顾名思义创建在内存中的表,真是这样吗?其实不然,MySQL的内存表,表结构创建在磁盘上,数据存放在内存中,所以当MySQL启动着的时候,这个表是存在的,数据也是存在的,如果用户有查看这个表的权限,在所有会话里面,都可以访问这个内存


“内存表”顾名思义创建在内存中的表,真是这样吗?其实不然,MySQL的内存表,表结构创建在磁盘上,数据存放在内存中,所以当MySQL启动着的时候,这个表是存在的,数据也是存在的,如果用户有查看这个表的权限,在所有会话里面,都可以访问这个内存表的数据;当MySQL重启后,数据消失,结构还存在。

内存表的创建:

CREATE TABLE test(
id int(10),
num int(10)
) ENGINE=MEMORY DEFAULT CHARSET=utf8;

查看是否创建成功:

show tables;
使用完内存表后,如果我们想释放掉占用掉的内存,可以有两种方法:

-- 删除数据
delete from test;

或者

-- 清空表
truncate table test;
再或者

-- 删除表
drop table test;

对于我们常用的功能来说,内存有以下特征:

1.对于varchar等变长类型,内存表使用固定的长度来存放;

2.内存表可以有非唯一键;

3.内存表不能包含BLOB或者TEXT列;

4.内存表支持AUTO_INCREMENT列;

5.内存表支持插入延迟,使读取优先;

6.非临时内存表和其它非内存表一样在所有客户端直接共享;

我们使用内存表的时候,需要注意以下几个方面:

1.服务器内存足够大;

2.我们创建的内存表和MySQL内部临时表有所不同:

内存表的数据存放在内存中,而内部临时表(我们的query语句产生的)在恰当的时候存放在内存中,当内部临时表变得很大时,MySQL会自动地把它转化为 在磁盘上存储的表,而我们创建的内存表,却不会自动转换。

3.当我们单独地delete from 某个内存表的时候,不会回收内存;只有当整个表被delete的时候,才会回收内存;

4.在MySQL的主从服务器上,内存表可以被复制

参考资料:

http://dev.mysql.com/doc/refman/5.0/en/memory-storage-engine.html

文档

MySQL的内存表_MySQL

MySQL的内存表_MySQL:“内存表”顾名思义创建在内存中的表,真是这样吗?其实不然,MySQL的内存表,表结构创建在磁盘上,数据存放在内存中,所以当MySQL启动着的时候,这个表是存在的,数据也是存在的,如果用户有查看这个表的权限,在所有会话里面,都可以访问这个内存
推荐度:
标签: 内存 的内存 mysql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top