MySQL存储引擎

本文基于MySQL主要介绍四种MySQL存储引擎

概述:
按照不同的存储机制、不同的索引方式等技术来存储数据的方法

查看引擎:
SHOW ENGINES:查看MySQL支持的存储引擎
MYSQL中共9种
MySQL存储引擎_第1张图片
在这里只简单介绍4个

InnoDB:

是MySQL默认的存储引擎(MySQL5.5以后),支持事务和行锁和外键
使用场景:

  1. 使用外键时
  2. 需要事务时
  3. 处理多重并发时

MyISAM:

MySQL5.5以前默认的存储引擎
特点:

  1. 不支持事务和外键
  2. 只支持表锁(在更新数据时会锁定这个表,降低了并发的性能)
  3. 读取速度快,占用资源少,

说明:
使用其建表时,会生成三个文件,分别是

  1. t_base_test.frm:存储表的定义
  2. t_base_test.MYD:存储表的数据
  3. t_base_test.MYI:存储表的索引

支持三种存储格式

  1. 静态表(默认)
  2. 动态表
  3. 压缩表

使用场景:

  1. 不需要事务时
  2. 以读取多的业务场景
  3. 数据修改和写入较少的业务场景
  4. 对数据的一致性要求不高

Memory

  1. 特殊的存储引擎,是将数据存放在内存中,依赖内存,所以不能创建太大的表
  2. 处理速度快
  3. 因为表创建在内存中,所以当数据库重启等情况下数据会消失,安全性差
  4. 适合存储临时表
  5. 默认采用哈希索引

CSV

说明:
我在对数据库表数据进行导出备份的时候发现的这个引擎

特点:

  1. 可以对其进行直接编辑
  2. 不支持索引
  3. 将csv文件当作表进行操作

使用场景:
进行导出备份,能够使用数据库直接使用

你可能感兴趣的:(MySQL)