Mysql 学习笔记一之Mysql 存储引擎

一、查看表的详细状态

    mysql> show table status like '表名';
Name Engine rows Auto_increament
user InnoDB 10 11

注释:engine 表示是该表使用的存储引擎

二、InnoDB存储引擎

InnoDB的数据存储在表空间中,采用MVCC(可以理解位row lock 的变种)来支持高并发,并且实现了四个隔离级别,默认的隔离级别式repeatable read ,并通过间隙锁(next-key locking)策略来防止幻读的出现,InooDB表式基于聚簇索引建立的,该索引对主键查询有很高的性能,
知识链接:MVCC和悲观锁的介绍

三、MyISAM存储引擎

MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但是MyISAM不支持事务和行级锁,而且在崩溃后无法进行安全恢复。MyISAM会将表存储在两个文件中:数据文件(.MYD)和索引文件(.MYI)
 MyISAM支持:加锁与并发(没有InnoDB采用MVCC的效率高)、恢复(mysql可以对此类表手工或自动执行检查和修复)、索引、延迟更新索引键(极大的增强了写入性能)。

四、Archive存储引擎

Archive只支持insert和select操作,Archive引擎会缓存所有的写并利用zlib对插入的行进行压缩,索引比MyISAM表的磁盘I/O更少,当是每次select查询式都会进行全表扫描。
 使用场景:日志和数据采集类应用、需用进行快速insert操作的场合。

五、Memory存储引擎

1.memory存储引擎相比前面的一些存储引擎,有点不一样,其使用存储在内从中的数据来创建表,而且所有的数据也都存储在内存中。
  2.每个基于memory存储引擎的表实际对应一个磁盘文件,该文件的文件名和表名是相同的,类型为.frm。该文件只存储表的结构,而其数据文件,都是存储在内存中,这样有利于对数据的快速处理,提高整个表的处理能力。
  3.memory存储引擎默认使用哈希(HASH)索引,其速度比使用B-+Tree型要快,如果读者希望使用B树型,则在创建的时候可以引用。
  4.memory存储引擎文件数据都存储在内存中,如果mysqld进程发生异常,重启或关闭机器这些数据都会消失。所以memory存储引擎中的表的生命周期很短,一般只使用一次。

六、修改表的存储引擎

mysql> alter talbe [表名] engine=[存储引擎];

注释[存储引擎]: inoodb 、myisam 、archive......

七、修改表的存储类型

mysql>alter table [表名]  convert to character set 'utf-8';
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 自从泰山上次为了自己和赵四打架,小蝶一直过意不去,三番五次约吃饭或者电影,泰山却并不答应,撒谎说:“跟别人看电影要...
    野驹阅读 259评论 0 0
  • 这周我们我们共读了晨间日前半部分。通过阅读这本书,我收获了什么什么什么。接下来我需要做的是什么什么什么!
    OL_o阅读 227评论 0 0
  • 仲夏时节,高考来临,因为占用考场,我们便借光休息三天半。抽出一天时间,妈妈带我游玩以奇石著名的东北“小黄山”。 ...
    雅珅阅读 262评论 0 0
  • 人在年幼的时候,并不懂得家的真正含义,玩耍是主要的事情。那里是人生开始的地方,随着年龄的增长,孩子的自我意识觉醒,...
    丝路铁骑阅读 411评论 0 1