WEB开发网
开发学院数据库MySQL 什么是myisam 阅读

什么是myisam

 2008-10-17 11:12:53 来源:WEB开发网   
核心提示: · 除了长度少于4的列外,所有的字符串列是动态的,什么是myisam(7),· 在每个记录前面是一个位图,该位图表明哪一列包含空字符串(对于字符串列)或者0(对于数字列),你可以使用myisamchk -ed来找出链接的数目,所有的链接可以用myisamchk

· 除了长度少于4的列外,所有的字符串列是动态的。

· 在每个记录前面是一个位图,该位图表明哪一列包含空字符串(对于字符串列)或者0(对于数字列)。注意,这并不包括包含NULL值的列。如果一个字符列在拖曳空间移除后长度为零,或者一个数字列为零值,这都在位图中标注了且列不被保存到磁盘。 非空字符串被存为一个长度字节加字符串的内容。

· 通常比固定长度表需要更少的磁盘空间。

· 每个记录仅使用必需大小的空间。尽管如此,如果一个记录变大,它就按需要被分开成多片,造成记录碎片的后果。比如,你用扩展行长度的信息更新一行,该行就变得有碎片。在这种情况下,你可以时不时运行OPTIMIZE TABLE或myisamchk -r来改善性能。可使用myisamchk -ei来获取表的统计数据。

· 动态格式表在崩溃后要比静态格式表更难重建,因为一个记录可能被分为多个碎片且链接(碎片)可能被丢失。

· 动态尺寸记录期望的行长度用下列表达式来计算:

· 3

· + (number of columns + 7) / 8

· + (number of char columns)

· + (packed size of numeric columns)

· + (length of strings)

· + (number of NULL columns + 7) / 8

对每个链接需要额外的6字节。在一个更新导致一个记录的扩大之时,一个动态记录被链接了。每个新链接至少是20字节,所以下一个扩大可能在同样的链接里进行。如果不是,则另一个链接将被建立。你可以使用myisamchk -ed来找出链接的数目。所有的链接可以用myisamchk -r来移除。

15.1.3.3. 已压缩表特征

已压缩存储格式是由myisampack工具创建的只读格式。

上一页  2 3 4 5 6 7 8 9  下一页

Tags:什么 myisam

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接