myisam存储引擎介绍及特点
什么是myisam引擎
myisam引擎是MySQL关系数据库系统的默认储存引擎(mysql 5.5.5之前)。这种MySQL表存储结构从旧的ISAM代码扩展出许多有⽤的功能。在新版本的Mysql中,Innodb引擎由于其对事务参照完整性,以及更⾼的并发性等优点开始逐步取代Myisam引擎。搭建博客源码
mysql怎么读英语每⼀个myisam的表都对应于硬盘上的三个⽂件。这三个⽂件有⼀样的⽂件名,但是有不同的扩展名指⽰其类型⽤途:.frm⽂件保存表的定义,这个⽂件并不是myisam引擎的⼀部分,⽽是服务器的⼀部分;.MYD保存表的数据;.MYI是表的索引⽂件。.MYD和.MYI是MyISAM的关键点。
[root@XM ~]# ll /data/3307/mysql/proc.*
-rw-rw---- 1 mysql mysql 9996 Mar 25 04:17 /data/3307/mysql/proc.frm
-rw-rw---- 1 mysql mysql 0 Mar 25 04:17 /data/3307/mysql/proc.MYD
-rw-rw---- 1 mysql mysql 2048 Mar 25 04:17 /data/3307/mysql/proc.MYI
[root@XM mysql]# file user.MYInot authorized吃鸡
并非所有变量都已绑定怎么解决user.MYI: MySQL MISAM compressed data file Version 1
myisam 引擎的特点
1.不⽀持事务
(事务是指逻辑上的⼀组操作,组成这组操作的各个单元,要么全成功要么全失败)
2.表级锁定,数据更新时锁定整个表:其锁定机制是表级锁定,这虽然可以让锁定的实现成本很⼩但是也同时⼤⼤降低了其并发性能。
表级锁定
3.读写互相阻塞:不仅会在写⼊的时候阻塞读取,myisam还会在读取的时候阻塞写⼊,但读本⾝并不会阻塞另外的读。
4.只会缓存索引:myisam可以通过key_buffer_size缓存索引,以⼤⼤提⾼访问性能,减少产品IO,但是这个缓存区只会缓存索引,⽽不会缓存数据。
key_buffer_size = 16M
5.读取速度较快,占⽤资源相对少。
6.不⽀持外键约束,但⽀持全⽂索引。
MyiSAM 引攀适⽤的⽣产业务场景,
1 、不需要事务⽀持的业务(例如转账就不⾏)。
2 、⼀般为读数据⽐较多的应⽤,读写都频繁场景不适合,读多或者写多的都适合。
下载百度安装3 、读写并发访问相对较低的业务(纯读纯写⾼并发也可以)(锁定机制问题)
4 、数据修改相对较少的业务(阻塞问题)。
5 、以读为主的业务,例如:数据库系统表、www, blog ,图⽚信息数据库,⽤户数据库,商品库等业务。
6 、对数据⼀致性要求不是⾮常⾼的业务(不⽀持事务)。
7 、硬件资源⽐较差的机器可以⽤ MyiSAM (占⽤资源少)
android 开发简介
⼩结:单⼀对数据库的操作都可以使⽤MyiSAM,所谓单⼀就是尽量纯读,或纯写 ( insert . update , delete )等
8 、使⽤读写分离的 MySQL 从库可以使⽤ MyISAM。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论