Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104675138
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Mysql/postgreSQL

2008-05-15 21:36:58

   来源:

静态格式是MyISAM表的默认存储格式。当表不包含变量长度列(VARCHAR, BLOB, 或TEXT)时,使用这个格式。每一行用固定字节数存储。

MyISAM的三种存储格式中,静态格式就最简单也是最安全的(至少对于崩溃而言)。静态格式也是最快的on-disk格式。快速来自于数据文件中的行在磁盘上被找到的容易方式:当按照索引中的行号查找一个行时,用行长度乘以行号。同样,当扫描一个表的时候,很容易用每个磁盘读操作读一定数量的记录。

当MySQL服务器正往一个固定格式MyISAM文件写的时候,如果机崩溃了,安全是显然的。在这种情况下,myisamchk可以容易地决定每行从哪里开始到哪里结束,所以它通常可以收回所有记录,除了写了一部分的记录。注意,基于数据行,MyISAM表索引可以一直被重新构建。

静态格式表的一般特征:

· CHAR列对列宽度是空间填补的。

· 非常快。

· 容易缓存。

· 崩溃后容易重建,因为记录位于固定位置。

· 重新组织是不必要的,除非你删除巨量的记录并且为操作系统腾出磁盘空间。为此,可使用OPTIMIZE TABLE或者myisamchk -r。

· 通常比动态格式表需要更多的磁盘空间。

阅读(559) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~