MySQL存储引擎MyISAM特性

SQL/NoSQL 2012-08-13 MySQL,MyISAM

MySQL的默认存储引擎MyISAM一直都是MySQL非事务存储引擎的最佳选择。它在性能和可用特征之间,提供一种良好的均衡性,如全文索引、压缩、空间函数。MyISAM仅支持表锁,不支持行级锁。

 

加锁与并发

MyISAM对整张表加锁,而不是行。读取程序在需要读取数据时,在所有表上都可以获得共享锁(读锁),而写入程序可以获得排他锁(写锁)。用户在执行查询select语句时,可以同时在一张表内插入新数据,这也称读写并发,这是一个非常有用的特性。

 

自动修复

MySQL支持对MyISAM存储引擎的表进行自动检查与修复,如I/O调优。

 

手工修复

可以执行CHECK TABLE tab和REPAIR TABLE tab命令检查表中的错误,并修复错误。如果服务器离线还可以使用myisamchk命令行工具检查和修复表。

 

索引特性

在MyISAM存储引擎表中,用户可以基于BLOB或TEXT字段类型列的前500个字符创建相关索引。MyISAM支持全文索引,它可以根据个别单词为复杂的搜索选项创建索引。这一特性在博客文章系统中特别有用。

 

延迟更新索引

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

文字链接:《MySQL存储引擎MyISAM特性

文章地址:http://www.qttc.net/201208178.html

除非标注,琼台博客所有博文均为原创,转载请加文字链接注明来源

乳名?小名?昵称?网名?均可

email,放心,我不会给你乱投广告的

想获得回访就把你的站点URL写上(没有留空)

[NOTICE]木要投放广告
[NOTICE]木要骂人,说不该说的话
[NOTICE]自由言论,但要遵纪守法

Comments 0

    Hi,你想第一个做沙发么?