免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1065 | 回复: 0
打印 上一主题 下一主题

内存表 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-20 09:46 |只看该作者 |倒序浏览

Memory表使用Hash排序把数据保存在内存中,因此在正确使用的情况下具有极快的速度,具有如下特点:

* Memory表对所有用户的连接是可见的,这使得它非常适合做缓存
* Memory表不允许使用TEXT和BLOB数据类型
* Memory表不支持auto_increment
* Memory表只能对非空(not null)数据列进行索引
* Memory表只允许使用=和<=>操作符来搜索记录(不允许<、>、<=或>=)
* 如果Memory表是以create table like方法创建的,则复制之后所有主键、索引、自增等格式将不复存在,需要重新添加主键和索引
* 一旦服务器重启,所有数据丢失,但是表结构仍然存在,因为Memory表结构是存放在datadir下的,不会删除
* MySQL是在启动时,是用“delete from TB_Name;”语句删除Memory表中的数据的,也就是说,这条语句会记录到Binlog,并传递到slave去
* Memory表非常适合用于Key(Primary)-Value的查询,如果语句复杂,性能会很低,甚至在并发较高的情况下出现频繁的锁表
* Memory表和MyISAM表一样,使用表级锁
* 谨慎为Memory表增加索引,索引过多会导致CPU飙升

注:操作符<=>为NULL-safe equal,这个操作符和“=”操作符执行相同的比较操作,不过在两个操作码均为NULL时,其所得值为1而不为NULL,而当一个操作码为NULL时,其所得值为0而不为NULL



您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP