mysql存储引擎

存储引擎介绍

innodb

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
innoDB是一种兼顾了高可靠性和高性能的通用存储引擎。在5.7和8.0版本中,innodb是默认的mysql存储引擎。在创建表的时候如果不指定存储引擎,默认就是指定的innodb作为存储引擎

innodb存储引擎支持事务,设计目标主要面向在线事务处理OLTP的应用,其特点是行锁设计,支持外键,并且类似于Oracle的非锁定读,即默认读取操作不会产生锁,5.58后成为默认引擎
innodb使用MVCC(多版本并发)控制来获得高并发性,并且实现了sql标准的4种隔离级别
innodb还提供了插入缓冲,二次写,自适应哈希索引,预读等实用功能
innodb采用聚集索引的方式,每张表的存储都是按照主键的顺序进行存放


PS:
OLTP:

MVCC

插入缓冲

二次写

自适应哈希索引

预读

聚集索引

查看存储引擎的版本

1
select @@innodb_version;

名词解释

OLTP

1
2
3
4
5
OLTP(Online Transaction Processing): 联机事务处理 是专注于面向事务的数据处理,通常涉及在数据库中插入,更新或删除少量数据,主要是处理大量用户下的大量事务.

简单来说就是支持事务,保证数据的一致性

OLTP的应用-->指支持事务的系统

MVCC

1
2
3
MVCC(Multi-Version Concurrency Control) 多版本并发控制,主要是为了提高数据库的并发性能

在遇到一行数据发生读写请求时,一般的处理方式是上锁阻塞住,但MVCC则采用了另外的方式去做,让读写发生冲突的时候不用加锁。
Post not found: 数据库类型

插入缓冲

二次写

自适应哈希索引

预读

聚集索引