当前位置:   article > 正文

MySQL进阶 —— 超详细操作演示!!!(上)

mysql进阶

数据库系列文章:

关系型数据库 — MySQL:


非关系型数据库 — Redis:

一、存储引擎

1.1 MySQL 体系结构

在这里插入图片描述
1). 连接层

  • 最上层是一些 客户端链接服务,包含本地 sock 通信和大多数基于 客户端/服务端 工具实现的类似于 TCP/IP 的通信。
  • 主要完成一些类似于 连接处理授权认证、及相关的安全方案
  • 在该层上引入了 线程池 的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL 的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。

2). 服务层

  • 第二层架构主要完成大多数的 核心服务功能,如 SQL接口,并完成缓存的查询,SQL的分析和优化,部分内置函数的执行。
  • 所有跨存储引擎的功能也在这一层实现,如 过程函数等。
  • 在该层,服务器会解析查询并创建相应的内部 解析树,并对其完成相应的优化如确定表的查询的顺序,是否利用索引等,最后生成相应的执行操作。
  • 如果是 select 语句,服务器还会查询内部的缓存,如果缓存空间足够大,这样在解决大量读操作的环境中能够很好的提升系统的性能。

3). 引擎层

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

4). 存储层

  • 数据存储层, 主要是将数据(如: redologundolog数据索引二进制日志错误日志查询日志慢查询日志等)存储在文件系统之上,并完成与存储引擎的交互。

和其他数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎上,插件式的存储引擎架构,将查询处理和其他的系统任务以及数据的存储提取分离。
这种架构可以根据业务的需求和实际需要选择合适的存储引擎

1.2 存储引擎介绍

在这里插入图片描述
大家可能没有听说过存储引擎,但是一定听过引擎这个词,引擎就是发动机,是一个机器的核心组件

  • 比如,对于舰载机、直升机、火箭来说,他们都有各自的引擎,是他们最为核心的组件。
  • 而我们在选择引擎的时候,需要在合适的场景,选择合适的存储引擎,就像在直升机上,我们不能选择舰载机的引擎一样。

而对于存储引擎,也是一样,他是mysql数据库的核心,我们也需要在合适的场景选择合适的存储引擎。接下来就来介绍一下存储引擎。

  • 存储引擎就是 存储数据建立索引更新/查询数据等技术的实现方式 。
  • 存储引擎是 基于表的,而不是基于库的,所以存储引擎也可被称为 表类型。我们可以在创建表的时候,来指定选择的存储引擎,如果没有指定将自动选择默认的存储引擎。(一个数据库有多个表,可以有多个存储引擎。)

1). 建表时指定存储引擎

create table 表名(
	字段1 字段1类型 [ comment 字段1注释 ] ,
	......
	字段n 字段n类型 [ comment 字段n注释 ]
) engine = InnoDB [ comment 表注释 ] ;
  • 1
  • 2
  • 3
  • 4
  • 5

2). 查询当前数据库支持的存储引擎

show engines; 
  • 1

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/939312
推荐阅读
相关标签