十八、Mysql存储引擎并不只有MyISAM、InnoDB——精髓

一、MySQL的存储引擎包括MyISAM、InnoDB、NDB Cluster、Maria、Falcon、Memory、Archive、Merge、Federated等,其中使用最广泛的是MyISAM、InnoDB;在MySQL5.5.8之后InnoDB成为MySQL默认的存储引擎;
  1、MyISAM
    1)、不支持事务,不支持外键,支持全文索引,处理速度快;
    2)、MyISAM存储引擎的表存储成3个文件,文件名与表名相同,扩展名分别为:frm(存储表结构),MYD(存储表数据),MYI(存储表索引)

  2、InnoDB
    1)、支持事务,支持行锁,支持外键
    2)、表的结构存储于.frm文件中。数据和索引存储在innodb_data_home和innodb_data_path表空间中;
    3)、实现了SQL的4中隔离级别(READ UNCOMMITTED、READ COMMITTED、REPEATABLE和SERIALIZABLE)

  3、NDB Cluster
    1)、负责管理各个节点的Manage节点主机,负责集群的配置,启动关闭各节点,以及实施数据的备份恢复等
    2)、主键查找速度极快,并通过添加NDB数据存储节点可以线性的提交数据库性能,是高可用,高性能的集群系统;
    3)、查询连接操作是在数据库层完成的,开销大;

  4、Maria
    1)、支持缓存数据和索引文件,应用行锁设计,提供MVCC功能;
    2)、支持事务和非事务安全的选项,以及更好的BLOB字符类型的处理性能;

  5、Falcon
    1)、一款替代当前InnoDB存储引擎的带有事务等高级特性的数据库存储引擎,
    2)、不使用cluster索引,不支持read uncommited 隔离级别,
    3)、不支持语句级复制,为了保证日志和数据文件的一致性。
    4)、支持表空间的概念,innodb只有数据文件概念,但是数据和索引表空间不能分开。支持在线备份

  6、Memory
    1)、数据存储在内存中,表结构以文件存储于磁盘,文件名与表名相同,后缀名为frm;
    2)、默认使用哈希索引,可以按需求指定索引类型;只支持表锁,并发性能较差;
    3)、不支持VARCHAR、BLOB和TEXT的列类型;

  7、Archive
    1)、只支持INSERT、REPLACE和SELECT操作,不支持DELETE或UPDATE。它支持ORDER BY操作;
    2)、使用zlib算法将数据和进行压缩后存储;
    3)、使用行锁来实现高并发的插入操作,但不支持事务;

  8、Merge
    1)、一组MyISAM表的组合,这些表的结构必须完全一样,查询时表合并起来使用一条查询;

  9、Federated
    1)、不存放数据,只提供对远程MySQL服务器上面的数据的访问接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值