zoukankan      html  css  js  c++  java
  • MySQL-存储引擎


    一、Mysql常用引擎

    InnoDB、MyISAM

    二、InnoDB-MySQL的默认事务性引擎

    InnoDB采用两阶段锁定协议,事务执行过程中,随时都可以执行锁定,锁只有在执行commit或rollback时才能释放,这是隐式锁定。

    通过特定语句可以显示锁定,例如:for update。


    • InnoDB数据存储在表空间,表空间由一系列数据文件组成,InnoDB可以将每个表的数据和索引存放在单独的文件中。
    • 采用MVCC来支持高并发,默认隔离级别是repeatable read,并通过间隙锁(Next-Key locking)防止幻读。InnoDB会给符合条件的已有数据记录的索引项加锁,对于键值在条件范围内但并不存在的记录,叫做间隙锁。
    • InnoDB表是基于聚簇索引建立的,二级索引必须包含主键列。
    • 自适应哈希索引、插入缓冲区等。
    • 支持热备份。


    MVCC:多版本并发控制,是行级锁的变种,很多情况下可以避免加锁,它是通过保存数据在某个时间的快照来实现的。对于不同存储引擎有乐观并发控制和悲观并发控制。

    三、MYISAM

      • 不支持事务和行级锁,崩溃后无法恢复。
      • 将表存储在两个文件:数据文件.MYD、索引文件.MYI。
      • 表级锁,读写锁,在表读取的同时可以插入数据。
  • 相关阅读:
    Laex/Delphi-OpenCV
    webbrowser 防止读取 缓存
    tesnsorflow 版本安装错了。 可以这样删除。
    python中%代表什么意思?
    python 访问 网页 获得源码
    3.2.2 break 与 continue 语句
    3.2.1 for循环与while循环的基本语法
    3.2 循环结构
    3.1.2 选择结构的几种形式
    3.1.1 条件表达式
  • 原文地址:https://www.cnblogs.com/bigshark/p/7912243.html
Copyright © 2011-2022 走看看