MySql(十):InnoDB存储引擎内存和磁盘架构

MySql存储引擎

数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作

// 查看系统支持的存储引擎
show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)


// 查看默认存储引擎
show variables like 'default_storage_engine%';
+------------------------+--------+
| Variable_name          | Value  |
+------------------------+--------+
| default_storage_engine | InnoDB |
+------------------------+--------+
1 row in set (0.00 sec)


// 修改数据库临时的默认存储引擎
SET default_storage_engine=< 存储引擎名 >

// 修改my.cnf文件默认存储引擎
default-storage-engine=存储引擎名称

存储引擎

描述

ARCHIVE

用于数据存档的引擎,数据被插入后就不能在修改了,且不支持索引。

CSV

在存储数据时,会以逗号作为数据项之间的分隔符。

BLACKHOLE

会丢弃写操作,该操作会返回空内容。

FEDERATED

将数据存储在远程数据库中,用来访问远程表的存储引擎。

InnoDB

具备外键支持功能的事务处理引擎

MEMORY

置于内存的表

MERGE

用来管理由多个 MyISAM 表构成的表集合

MyISAM

主要的非事务处理存储引擎

NDB

MySQL 集群专用存储引擎

MYSQL事务的优化:

1、事务本身就是进行一些sql语句的操作,所以事务的优化就是对sql语句的优化,即索引优化;

2、索引优化之外,还可以基于内存层面、缓冲区层面、磁盘层面来优化。

 

InnoDB内存和磁盘架构

InnoDB内存上的Buffer Pool缓冲池:

你可能感兴趣的:(MySql系列,innodb,mysql,数据库,sql,mysql优化)