美文网首页
MySql存储引擎简介-基础篇

MySql存储引擎简介-基础篇

作者: 编程人生 | 来源:发表于2022-01-03 08:36 被阅读0次

MySql数据库存储引擎

存储引擎就是如何存取数据,建立索引,更新和查询数据的实现方法.

存储引擎是针对表而言的,同一个MySql数据库的不同表可以使用不同的存储引擎.

MySql5.7提供的存储引擎有: InnoDB  MRG_MYISAM  Memory  BLACKHOLE  MyISAM  CVS  Archive  PERFORMANCE_SCHEMA    Federated 

InnoDB 

是一种事务型存储引擎,在MySql5.5.5之后,InnoDB就作为默认的存储引擎主要有以下特征

1.多表查询能力.

2.高性能

3.自动灾难恢复

4.外键约束

5.支持自动增加列AUTO_INCREMENT属性: 存储表中的数据时候,每张表都是按照主键顺序存放,如果表没有主键,则InnoDB存储

引擎会为每一行生成一个6字节的ROWID,并以此作为主键,此ROWID由自动增长列的值进行填充.

使用

InnoDB不创建目录,在使用InnoDB存储引擎时,MySql将在MySql数据目录下创建一个名为ibdata1 的10MB的自动扩展数据

文件,以及两个名为ib_logfile0和ib_logfile1的5Mb的日志文件

MyISAM

独立于操作系统, 说明可以轻松地将其从Windows服务器上移植到Linux服务器:每当建立一个MyISAM存储引擎的表时候,

就会在本地建立3个文件,文件名以表的名字作为主文件名,扩展名分别为.frm  .MYD 和.MYI

作为MySql5.5.5之前的版本中默认的存储引擎,主要用于web,数据存储和其他应用环境,具有很高的插入,查询速度,因此常用于选择密集型的表和插入密集型的表中.但是由于MyISAM存储引擎不支持事务,这就意味着有事务处理的需求的表不能使用MyISAM存储引擎

优点:占用空间小,相对于InnoDB来说处理速度更快,缺点不支持事务的完整性和并发性约束.

Memory

Memory存储引擎为查询和引用其他表提供快速的访问速度. Memory存储引擎能实现最快的响应时间,采用的逻辑存储介质

是系统内存.

虽然在内存中存储表数据会提供很高的性能,但是当MySql的守护进程奔溃时,所有的Memory数据都会丢失,并且要求存储在Memory数据表里的数据使用的是长度不变的格式.

特点:

1.不支持BLOB和TEXT这样的长度可变的数据类型

2.虽然VERCHAR也是一种长度不变的类型,但因为它在MySql内部当做固定不变长度的CHAR类型, 所以可以使用.

3.储存在Memory表中的数据如果丢失,不会对应用服务器产生实质的负面影响.

4.可以在一个Memory表中有一个非唯一键

5.当目标数据较小时,而且被频繁的访问时,可以使用Memory存储引擎,并可以通过参数max_heap_table_size控制Memory

表的大小.

6.对要求必须立即可用的临时数据,可以存放在Memory表中,以加快访问速度.

7.Memory表支持AUTO_INCREMENT列和对包含了NULL值的列的索引.

8.当不需要Memory表的内容时,需要释放Memory表使用的内存,可以执行DELETE FORM 或 TRUNCATE TABLE , 或者使用DROP TABLE 将整个表删除.

查看本地mysql 内存引擎

show variables like 'default_storage_engine';

修改默认的存储引擎

    1.打开配置文件my.ini   

    2.找到[mysqld]组    

    3.将"default_storage_engine = MyISAM" 修改并保存

    4.重启mysql服务.

存储引擎的比较

InnoDB 存储引擎提供提交,回滚和崩溃恢复能力的事务安全能力,以及并发控制的能力;

MyISAM 存储引擎能提供对表的插入和查询的高效率处理能力;

Memory 存储引擎主要用于在数据库不大,临时存放数据,且对数据安全性要求不高时,mysql可使用该引擎作为临时表,存放查询结果

Archive 存储引擎支持高并发的插入操作,可用于只有insert和Select操作的情况,非常适合归档数据存储,如记录日志信息.

对数据库的不同的表可灵活选择不同的存储引擎,选择合适的存储引擎,将会提高真个数据库的性能.

相关文章

  • MySql存储引擎简介-基础篇

    MySql数据库存储引擎 存储引擎就是如何存取数据,建立索引,更新和查询数据的实现方法. 存储引擎是针对表而言的,...

  • Mysql-InnoDB独立表空间

    前文索引:Mysql基础-存储引擎详述 1.简介 Innodb存储引擎可将所有数据存放于ibdata*的共享表...

  • MySQL进阶——存储引擎

    上篇文章我们学习了MySQL基础——事务,这篇文章学习MySQL进阶——存储引擎。 存储引擎 存储引擎就是存储数据...

  • 【图文详解】MySQL 三大日志:binlog、redo log

    MySQL 简介 MySQL 架构图 MySQL 存储引擎 InnoDB Architecture https:/...

  • MySQL存储引擎

    1、存储引擎简介 明确:MySQL数据存在磁盘文件中存储引擎:名词,主要用于声明MySQL表中数据的存储方式;不管...

  • MySQL学习笔记(2) - 基础知识

    1. 背景 本文讲MySQL的基础知识。 2.知识 存储引擎简介 存储引擎是数据库的底层组件,数据库管理系统使用引...

  • mysql规范

    一、基础规范【强制】使用InnoDB存储引擎解读:InnoDB存储引擎是MySQL默认存储引擎,支持事务和行级锁,...

  • MySQL存储引擎之概览

    1 MySQL存储引擎简介 存储引擎是MySQL用于处理不同表类型的SQL操作的组件。 InnoDB是默认的也是最...

  • MySQL存储引擎

    简介 通过show engines;,查看 mysql 现在已提供什么存储引擎 1.InnoDB存储引擎 Inno...

  • MySQL存储引擎

    简介 通过show engines;,查看 mysql 现在已提供什么存储引擎 1.InnoDB存储引擎 Inno...

网友评论

      本文标题:MySql存储引擎简介-基础篇

      本文链接:https://www.haomeiwen.com/subject/txqxcrtx.html