开发者

Mysql详细剖析数据库中的存储引擎

目录
  • 前言
  • 存储引擎
    • 什么是存储引擎?
    • mysql的体系结构:
      • Mysql的体系结构分为四层:
    • 存储引擎的查看
      • 存储引擎的指定
        • 存储引擎的特点
          • InnoDB介绍
          • InnoDB特点
          •  InnoDB文件
        • 存储引擎的选择
        • 总结撒花

          前言

           哈喽各位友友们,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!我仅已此文,和大家分享【Mysql系列】——详细剖析数据库中的存储引擎~都是精华内容,可不要错过哟!!!

          存储引擎

          什么是存储引擎?

          存储引擎是数据库中非常关键的部分,它就像是飞机、火www.devze.com箭中的引擎那样。我们能不能把飞机上的存储引擎发到火箭上去呢? 显然是不可能的,因为引擎的使用是要看使用的场景的。而在Mysql中,存储引擎也是一样的,其没有好坏之分。我们需要在合适的场景下使用合适的存储引擎才是我们ERxAD需要做到位的。存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可以被称为表类型。

          Mysql的体系结构:

          Mysql的体系结构分为四层:

          MYsql的体系结构如下图所示:

          Mysql详细剖析数据库中的存储引擎

          连接层

          最上层是一些客户端和链接服务,主要完成一些类似于连接处理,授权认证,及相关的安全方案,服务器也会为安全接入的每个客户端验证它所具有的操开发者_PostgreSQL作权限。

          服务层

          第二层架构主要完成大多数的核心服务功能,如SOL接口,并完成缓存的查询,SOL的分析和优化,部分内置函数的执行。所有跨存储引擎的功能也在这一层实现,如 过程、函数等。

          引擎层

          存储引警真正的负责了MvSOL中数据的存储和提取,服务器通过API和存储引警进行通信。不同的存储引擎具有不同的功能,这样我们可以根据自己的需要,来选取合适的存储引擎。

          存储层

          主要是将数据存储在文件系统之上:并完成与存储引擎的交互。

          存储引擎的查看

          存储引擎是有很多的,在MYsql 5.5 之后,默认的存储引擎是InnoDB 存储引擎。之前默认的是Memory编程 存储引擎。

          show engines;
          

          Mysql详细剖析数据库中的存储引擎

          create table Course(
              Con int primary key auto_increment,
              Cname varchar(10),
              Cpon int,
              Ccredit int
          )
          
          show create table course;
          

          Mysql详细剖析数据库中的存储引擎

          存储引擎的指定

          例如,我们可以在创建表的同时,指定此表的存储引擎类型。

          create table test_mysql(
              name varchar(10),
              age int
          ) engine = Memory;
          
          

          Mysql详细剖析数据库中的存储引擎

          存储引擎的特点

          这里重点介绍以下 InnoDB

          InnoDB介绍

          InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在 MvSOL 5.5 之后,InnoDB是默认的 MvSOL存储引擎。

          InnoDB特点

          • DML操作遵循ACID模型,支持事务;
          • 行级锁,提高并发访问性能;
          • 支持外键FOREIGN KEY约束,保证数据的完整性和正确性:

           InnoDB文件

          • xxx.ibd:xxx代表的是表名,innoDB引擎的每张表都会对应这样一个表空间文件,存储该表的表结构(frm、sdi)、数据和索引。
          • 参数:innodb file per table

          Mysql详细剖析数据库中的存储引擎

           最后用一张图,js来展示一下InnoDB 的逻辑存储结构。

          Mysql详细剖析数据库中的存储引擎

          Mysql详细剖析数据库中的存储引擎

          总结:InnoDB 是支持事务的,而MyISAM不支持;InnoDB 是支持行锁的,而MyISAM不支持,支持表锁;InnoDB 是支持外键的,而MyISAM不支持;

          存储引擎的选择

          Mysql详细剖析数据库中的存储引擎

          总结撒花

          本篇文章旨在分享【Mysql系列】——详细剖析数据库中的存储引擎。希望大家通过阅读此ERxAD文有所收获!

           以上就是Mysql详细剖析数据库中的存储引擎的详细内容,更多关于剖析数据库的存储引擎的资料请关注我们其它相关文章!

          0

          上一篇:

          下一篇:

          精彩评论

          暂无评论...
          验证码 换一张
          取 消

          最新数据库

          数据库排行榜