zoukankan      html  css  js  c++  java
  • Mysql-InnoDB

    存储引擎

    mysql中的文件系统

    查询引擎

    show engines;
    

    InnoDB

    核心特点:

    MVCC 多版本并发控制。

    Clustered index 聚簇索引

    多缓存区池

    事务

    行级锁

    外键

    更多复制特性

    支持热备

    自动故障恢复

    change buffer

    自适应hash索引,AHI

    整理碎片

    alter table x engine=innodb;
    

    事务

    begin;
    DML1
    DML2
    commit/rollback;
    

    InnoDB保证ACID

    1.重做日志

    2.数据页

    Innodb_flush_log_at_trx_commit=0/1/2

    1:每次提交事务,写入磁盘。

    0:每秒写日志到os cache,再到磁盘,异常宕机时,会丢失1秒事务。

    2:每次事务提交,都立即刷新redo buffer到os cache,在每秒fsync()写入磁盘,异常宕机时,会丢失1秒事务

    隔离级别和锁机制

    • transaction_isolation
      • RU (READ-UNCOMMITTED):未提交读
        • 脏读,不可重复读,幻读
      • RC (READ-COMMITTED):已提交读
        • 不可重复读,幻读
      • RR(REPEATABLE-READ):可重复读
        • 幻读
      • SR(SERIALIZABLE):可串行读
        • 没问题,不利于并发

    读指的是存储引擎对页的读取。

    • 脏读
    • 不可重复读
    • 幻读

    锁是属于资源的,

    事务需要资源的时候,需要申请该资源的锁。

    • 资源:

      • 内存 :mutex latch pin
      • IO对象锁 :
        • MDL (元数据锁) ,修改元数据的时候 DDL,备份。
        • Table_lock (表锁),DDL,备份(FTWRL全局表锁),手动锁表
        • record(row) lock , 行锁,锁定聚簇索引。
        • GAP , 间隙锁,RR级别,普通辅助索引间隙锁。
        • Next-lock 下一键锁,GAP+Recordlock,普通索引范围锁
    • 对象锁粒度:

    • 功能分类:

      • IS :意向共享锁,表级别。
      • S :共享锁,行级别
      • IX :意向排它锁,表级别。
      • X :排它锁,写锁,行级别
  • 相关阅读:
    zookeeper使用场景
    zookeeper安装配置
    hadoop 远程调试
    deep learning笔记
    Sentiment Analysis(1)-Dependency Tree-based Sentiment Classification using CRFs with Hidden Variables
    PRML阅读笔记 introduction
    Python 学习笔记(2)
    python nltk 学习笔记(5) Learning to Classify Text
    python nltk 学习笔记(4) Writing Structured Programs
    python nltk 学习笔记(3) processing raw text
  • 原文地址:https://www.cnblogs.com/JinweiChang/p/14378280.html
Copyright © 2011-2022 走看看