《高性能MySQL》阅读- MySQL存储引擎之MyISAM

MySQL存储引擎

承接:《高性能MySQL》阅读 Mysql架构和历史 三、
【鬼王棺】诗号:
遥遥天涯判死生,近近咫尺索命魂。

  1. MySQL存储引擎之MyISAM
    1. MySQL5.1版本之前默认的存储引擎,5.5之后完全使用innoDB存储引擎
    2. MyISAM提供了大量的特性:全文索引、压缩、空间函数(GIS)等,MyISAM不支持事务和行级锁,并且崩溃之后无法安全恢复。
    3. 如果-对于只读的数据,或者比较小、可以忍受修复操作,则依然可以继续使使用MyISAM
    4. 存储:MyISAM会将表存储在两个文件中:数据文件和索引文件,分别以.MYD和.MYI为扩展名
    5. 特性:表锁和并发–读时共享锁,写时排他锁;但在表读取时,可往表中插入数据,被称为并发插入;
      修复–可以CHECK TABLE mytable检查表的错误,如果有错误,嗯可以通过REPAIR TABLE mytable进行修复;但是修复和事务恢复以及崩溃后的数据恢复是概念不同的;执行表的修复可能导致一些数据的丢失,而且修复操作非常慢
      索引特性–MyISAM支持全文索引,这是一种基于分词创建的索引,可以支持复杂的查询
      延迟更新索引键
    6. MyISAM压缩表–表在创建并导入数据之后,不会再尽心修改操作,那么这样的表或许适合采用MyISAM压缩表
    7. MyISAM性能–该引擎设计简单,数据以紧密格式存储,所以在某些场景下的性能很好
  2. MySQL内建的其他存储引擎
    1. Archive存储引擎–①只支持INSERT和SELECT操作,5.1版本之前也不支持索引;②支持行级锁和专用的缓冲区,所以可以实现高并发的插入
    2. Blackhole引擎–引擎没有实现任何的存储机制,它会丢弃所有插入的数据,不做任何的保存操作,但是服务器会就表的日志,所以可以用于复制数据到备库
    3. CSV–可以将普通的csv文件作为MySQL表来处理,但是这种表不支持索引
    4. Federated
    5. Memory
    6. Merge–是MyISAM的一个变种。merge表是有多个MyISAM表合并而来的虚拟表
    7. NDB集群引擎–
  3. 转换表的引擎
    1. ALTER TABLE–ALTER TABLE mytable engine = InnoDB;执行需要很长时间
    2. 导出与导入–
    3. 创建与查询–综合以上方法,先创建一个新的存储引擎的表,然后利用INSERT…SELECT语法来导出数据:①CREATE TABLE inndb_table LIKE myisam_table; ②ALTER TABLE innodb_table ENGINE=InnoDB;③INSERT INTO innodb_table SELECT * FROM myisam_table;
  4. MySQL时间线
    3.23-2001MySQL诞生、4.0-2003、4.1-2005、5.0-2006、5.1-2008(这是sun收购MySQL AB以后的首个版本)、5.5-2010这是Oracle收购sun之后的首个版本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

booth-ZDH

爪哇一生

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值