美文网首页
InnoDB存储引擎学习笔记

InnoDB存储引擎学习笔记

作者: 钟离惜 | 来源:发表于2021-03-31 09:46 被阅读0次

    一、MySQL体系结构和存储引擎

    对于表中数据的存储,InnoDB采用了聚集(clustered)的方式,因此每张表的存储都是按主键的顺序进行存放。如果没有显式地在表定义是指定主键,InnoDB存储引擎会为每一行生成一个6字节的ROWID,并以此作为主键。

    特性 MyISAM InnoDB
    存储限制 64TB
    事务
    锁粒度 表锁 行锁
    B树索引 支持 支持
    哈希索引 不支持 支持
    存储消耗
    内存消耗
    批量插入速度
    外键 不支持 支持

    二、文件

    慢查询日志

    印着慢查询日志比较重要,可以用来定位一些执行时间比较长的SQL语句。

    二进制文件

    MySQL 的二进制日志 binlog 可以说是 MySQL 最重要的日志,它记录了所有的 DDL 和 DML 语句(除了数据查询语句select、show等),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。binlog 的主要目的是复制和恢复。

    二进制日志记录了对MySQL数据库执行更改的所有操作,也就是不包括SELETE和SHOW这类操作,因为这类操作对数据本身并没有修改。然后,若操作本身并没有导致数据库发生变成,那么该操作可能也会写入二进制日志,比如修改的新值与旧值相等。

    三、索引与算法

    InnoDB支持B+树索引、全文索引、哈希索引,但InnoDB的哈希索引是自适应的,引擎会根据使用情况为表生成哈希索引,不能认为干预在一张表中是否生成哈希索引。

    四、锁

    MySQL锁

    相关文章

      网友评论

          本文标题:InnoDB存储引擎学习笔记

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