MyISAM存储引擎特性与表结构.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

MyISAM引擎概览

•MySQL5.0以前默认引擎,ISAM变体

•文件分为数据文件和索引文件,frm文件

•不支持事务,不支持外键

•仅支持表锁

•堆表

•支持B树,Full-text,R树索引

•适合主要以select和insert为主的应用

特性

•数据文件和索引文件可以分开存放

(不使用--skip-symbolic-links)

createtablet1(col..)engine=myisam

datadirectory=‘/path/to/data/’

indexdirectory=‘/path/to/index’;

•表易损坏,需要修复

写入表时mysqld异常关闭

机器宕机

硬件故障

可以同时在正被服务器修改的表上使用外部程序

MyISAM的bug

Incorrectkeyfilefortable:....Trytorepairit

表格式

•固定长度表

•动态长度表

•压缩表

固定长度表

•默认格式(fixed)

•表不包含变长列(varchar,blob,text)时使用,每行

用固定字节

•如何定位行记录:索引中的rowid*row_length

•静态表特征:

CHAR列对列宽度是空间填补的,但返回结果时空格去掉.length(name)得出

非常快

容易缓存

后容易重建,因为记录位于固定位置

不必定期optimizetable

通常比动态格式表需要的磁盘空间

动态长度表

•如果包含可变长度列(varchar,blob或text),或者

row_format=dynamic,则为变长表

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

•空间节省up,性能down

•记录头:位图,存放哪一列包含空字符串或0

压缩表

•由myisampack创建

•占用非常少的磁盘空间

•每个记录单独压缩

压缩表

•./bin/myisampackvar/sakila/t1.MYI

•包含以下压缩方式:

后缀空间压缩

前缀空间压缩

零值的数用一个位来

如果在一个整型列中的值有一个小的范围,列被用最小可能的类型来

。比如,一个BIGINT列(8字节),如果所有它的值在-128到127范围

内,它可以被为TINYINT列(1字节)

如果一个列仅有一小组可能的值,列的类型被转化成ENUM。

一个列可以使用先前压缩类型的任意合并

可以处理固定长度或动态长度记录

MyISAM相关参数

内存类:

•key_buffer_size(howtotune?)

MyISAM的索引缓存,25%MEM,线程共享

•bulk_insert_buffer_size

MyISAM批量数据使用的缓存(insert..select,insert

values(..),(..),(..),(..),loaddatainfile),线程独享

•myisam_sort_buffer_size

在repairtable或在创建myISAM索引时的缓存大小

•myisam_max_sort_file_size

在重建MyISAM索引时产生的临时文件的最大大小(repair

table,altertable,loaddata),若超出,则使用key

cache

MyISAM相关参数

内存类:

•read_buffer_size

对于MyISAM全表扫描时用到的缓存

•read_rnd_buffer_size

对于MyISAM表通过索引扫描时使用

•key_cache_block_size

keycache块的大小,默认1M

MyISAM相关特性

•concurrent_insert

0:关闭

1:默认,当表无空洞时,允许select和insert并发.否则

不允许

2:无空洞时,同上。有空洞时,若有其他线程更新表,

则末尾,若无其他线程更新表,则空洞中。

MyISAM相关特性

•Delay_key_wr

文档评论(0)

136****1820 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档