美文网首页
存储引擎

存储引擎

作者: Yanl__ | 来源:发表于2019-11-08 14:02 被阅读0次
    1. InnoDB 存储引擎
      支持事务,其设计目标主要面向联机事务处理(OLTP)的应用。其
      特点是行锁设计、支持外键,并支持类似 Oracle 的非锁定读,即默认读取操作不会产生锁。 从 MySQL 5.5.8 版本开始是默认的存储引擎。
    2. MyISAM 存储引擎
      不支持事务、表锁设计、支持全文索引,主要面向一些 OLAP 数 据库应用,在 MySQL 5.5.8 版本之前是默认的存储引擎(除 Windows 版本外)。数据库系统 与文件系统一个很大的不同在于对事务的支持,MyISAM 存储引擎是不支持事务的。究其根 本,这也并不难理解。用户在所有的应用中是否都需要事务呢?在数据仓库中,如果没有 ETL 这些操作,只是简单地通过报表查询还需要事务的支持吗?此外,MyISAM 存储引擎的 另一个与众不同的地方是,它的缓冲池只缓存(cache)索引文件,而不缓存数据文件,这与 大多数的数据库都不相同。
    3. Memory 存储引擎
      正如其名,Memory 存储引擎中的数据都存放在内存中,数据库重 启或发生崩溃,表中的数据都将消失。它非常适合于存储 OLTP 数据库应用中临时数据的临时表,也可以作为 OLAP 数据库应用中数据仓库的维度表。Memory 存储引擎默认使用哈希 索引,而不是通常熟悉的 B+ 树索引。
    4. BLACKHOLE
      黑洞存储引擎,可以应用于主备复制中的分发主库。
      MySQL 数据库还有很多其他存储引擎,上述只是列举了最为常用的一些引擎。如果 你喜欢,完全可以编写专属于自己的引擎,这就是开源赋予我们的能力,也是开源的魅力所在。
    create table t1(id int)engine=innodb;
    create table t2(id int)engine=myisam;
    create table t3(id int)engine=memory;
    create table t4(id int)engine=blackhole;
    
    #.frm是存储数据表的框架结构
    
    # .ibd是mysql数据文件 
    
    #.MYD是MyISAM表的数据文件的扩展名
    
    #.MYI是MyISAM表的索引的扩展名
    
    #发现后两种存储引擎只有表结构,无数据
    
    #memory,在重启mysql或者重启机器后,表内数据清空
    #blackhole,往表内插入任何数据,都相当于丢入黑洞,表内永远不存记录
    

    相关文章

      网友评论

          本文标题:存储引擎

          本文链接:https://www.haomeiwen.com/subject/ribibctx.html