您的位置:首页 > 数据库 > MySQL

MYSQL的存储引擎介绍------MyISAM引擎

2016-05-18 18:00 525 查看
MyISAM引擎:此为MYSQL的默认存储引擎,在性能和可用特间,MyISAM

提供一种良好的平衡,这些特征包括全文检索,压缩,空间函数MyISAM不支持事务和行级锁。

一般来说,MyISAM将每个表存储成两个文件:数据文件和索引文件,这两个文件的扩展名分别为.MYD和.MYI。MyISAM格式是平台通用的,这意味着用户可以在不同架构的服务器上毫无问题的相互拷贝数据文件和索引文件。

MyISAM表可以包含动态行和静态行(即固定长度的行),MYSQL会根据表定义选择何种方式,MyISAM表的可容纳的行总数,一般受限于数据库服务器的可用磁盘大小,以及操作系统允许创建的最大文件大小。

MyISAM特性

1、加锁与并发:MyISAM对整张表加锁,而不是行。读取程序在需要读取数据是,在所有表上都可以获取共享锁,而写入程序可以获取排他锁,用户在使用select查询时,可以同时在同一张表内插入新行(也称之为并发插入)。

2、自动修复:MYSQL支持对MyISAM表的自动检查和自动修复。

3、手工修复:用户可以使用CHECK TABLE +表名称和REPAIR TABLE +表名称命令,检查表中的错误,并修复错误。

4、索引特性:在MyISAM表中,用户可以基于BLOB或TEXT类型列的前500个字符,创建相关索引,MyISAM支持全文索引,它可以根据个别单词,为复杂的搜索选项创建相关索引。

5、延迟更新索引:使用表创建选项DELAY_KEY_WRITE创建的MyISAM表,在查询结束后,不会将索引的改变数据写入磁盘,而是在内存的缓冲区中缓存索引改变数据,它只会在清理清理缓冲区或者是关闭表时,才将索引块转存到磁盘。对于数据经常改变,并且使用频繁的表,这种模式大大提高了表的处理性能,但是如果服务器或者系统崩溃,索引肯定埙怀,并需要修复。用户可以使用脚本,如运行myisamchk工具,在重启服务器前进行修复, 也可以使用自动修复选项修复。延迟更新索引特性可以被全剧配置,也可以为个别表单独配置。

6、压缩的MyISAM表:对与一些数据创建和填写以后永不改变的数据,非常适合选用压缩的MyISAM表,使用myisampack工具,可以对表进行压缩或者打包,压缩表一般是不能改变的,其占用磁盘空间小,使之可以提供更快的表处理性能。压缩MyISAM表也可以拥有索引,但这些索引也是只读的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息