美文网首页
MySql技术内幕-InnoDB存储引擎(一)

MySql技术内幕-InnoDB存储引擎(一)

作者: Jerry_dong | 来源:发表于2017-12-13 10:23 被阅读0次

    数据库和实例

    数据库:物理操作系统文件或其他形式文件类型的集合。
    实例:MySQL数据库由后台线程以及一个共享内存区组成。
    在MySQL数据库中,实例与数据库的关系通常是一一对应的,即一个实例对应一个数据库,一个数据库对应一个实例。但在集群情况下,可能存在一个数据库被多个数据实例使用的情况。
    MySQL被设计为一个单进程多线程架构的数据库,MySQL数据库实例在系统上的表现就是一个进程。

    MySQL结构体系

    MySQL结构体系.png

    MySQL 由以下几部分组成:
    1.连接池组件
    2.管理服务和工具组件
    3.SQL接口组件
    4.查询分析器组件
    5.优化器组件
    6.缓冲组件
    7.插件式存储引擎
    8.物理文件

    MySQL区别于其他数据库的最重要的一个特点就是其插件式的表存储引擎。MySQL插件式的存储引擎架构提供了一系列标准的管理和服务支持。这些标准与存储引擎本身无关,可能是每个数据库系统本身都必需的,如SQL分析器和优化器等,而存储引擎是底层物理结构的实现。

    需要特别注意的是:存储引擎是基于表的,而不是数据库。所以当我们在建表的时候,需要标注使用的存储引擎,否则数据库系统会选用默认的配置。

    MySQL存储引擎

    MySQL数据库的核心在于存储引擎。
    1)InnoDB存储引擎
    InnoDB存储引擎支持事务,其设计目标主要面向在线事务处理(OLTP)的应用。其特点是行锁设计,支持外接,并支持类似于Oracle的非锁定读,即默认读取操作不会产生锁。从MySQL5.5.8开始,InnoDB存储引擎是默认的存储引擎。

    2)MyISAM引擎
    MyISAM不支持事务,表锁设计,支持全文索引,主要面向一些OLAP数据库应用。

    可以通过SHOW ENGINES语句查看当前使用的MySQL数据库所支持的引擎,或者通过查找information_schema架构下的ENGINES表

    MySQL数据库所支持的引擎.png

    相关文章

      网友评论

          本文标题:MySql技术内幕-InnoDB存储引擎(一)

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