• Mysql的存储引擎


    一. Mysql的体系结构

     二. Mysql存储引擎简介

    存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。

    1.在创建表时指定存储引擎。

    默认存储引擎时innodb

     2.查询数据库支持的存储引擎 

    三. 存储引擎特点

    1.InnoDB

    1.1 介绍

     InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在Mysql 5.5 之后,InnoDB是默认的Mysql存储引擎。

    1.2 特点

      * DML操作遵循ACID模型,支持事务(ACID模型:事务的4大特性)

      * 行级锁,提高并发访问性能

      *  支持外键FOREIGN KEY约束,保证数据的完整性和正确性。

    1.3 文件

      XXX.ibd: XXX代表的是表名,InnoDB引擎的每张表都会对应这样一个表空间文件,存储该表的表结构(frm、sdi)、数据和索引。

      参数:innodb_file_per_table

    1.4 InnoDB的逻辑存储结构

      一个表空间下包含多个段,一个段下面包含多个区(一个区的大小是1M),一个区下面包含64个页(一个页大小为16K),一个页下面包含多个行,行里面包含(Trx:最后一次操作事务的id  Roll pointer:指针  col1,col2...:字段)

    2.MyISAM

    2.1. 介绍

    MyISAM是Mysql早期的默认存储引擎

    2.2. 特点

      * 不支持事务,不支持外键。

      * 支持表锁,不支持行锁。

      * 访问速度快

    2.3. 文件

      xxx.sdi: 存储表结构信息。

      xxx.MYD: 存储数据。

      xxx.MYI: 存储索引。

     3.  Memory

     3.1 介绍

      Memory引擎的表数据存储在内存中的,由于受到硬件问题、或断电问题的影响,只能将这些表作为临时表或缓存使用。

    3.2 特点

      * 内存存放

      * hash索引(默认)

    3.3 文件

      xxx.sdi: 存储表结构信息。

    四. 3种存储引擎之间的区别

    五. 存储引擎的选择 

     

  • 相关阅读:
    回溯法(复习笔记一)
    LSM Tree
    C#调用C++ dll 返回数组
    IDEA项目取消git版本管控并添加svn版本控制
    思维模型 布里丹毛驴效应
    freeRTOS--任务通知
    机器学习特征工程之-数据预处理-1
    fiddler如何抓模拟器中APP的包
    抽象类和(上)
    数据驱动运营成功案例——内蒙古国大药房
  • 原文地址:https://blog.csdn.net/weixin_54401017/article/details/126556620