mysql学习之-逻辑架构
mysql逻辑架构图:

第一层,服务层(为客户端服务):为请求做连接处理,授权认证,安全等。
1. 每个连接的查询都在一个进程中的线程完成。
2. 服务器负责缓存线程,所以服务层不需要为每个连接新建线程。
注:mysql5.5或者更新的版本提供了一个API,支持线程池(thread-pooling)插件,可以使用池中少量线程来服务大量的连接。 (类似于oracle中的共享连接方式)
第二层,核心层:查询解析,分析,优化,缓存,提供内建函数;存储过程,触发器,视图。
1.优化器不关心使用的是什么存储引擎,但是存储引擎对优化查询有影响。
2.在解析查询之前,服务器会“询问”是否进行了查询缓存(只能缓存SELECT语句和相应结果)。缓存过的直接返回结果,未缓存的就需要进行解析查询,优化,重新执行返回结果。
3.解析查询时会创建一个内部数据结构(解析树),然后对其进行各种优化。
第三层,存储引擎层,不光做存储和提取数据,而且针对特殊数据引擎还要做事务处理。
1.服务器通过API与存储引擎通信,接口屏蔽了不同存储引擎之间的差异,使得上层查询透明。
2.不同存储引擎之间不会通信,只会简单相应上层服务的请求。
mysql学习之-逻辑架构的更多相关文章
- mysql 概念和逻辑架构
1.MySQL整体逻辑架构 mysql 数据库的逻辑架构如下图: 第一层,即最上一层,所包含的服务并不是MySQL所独有的技术.它们都是服务于C/S程序或者是这些程序所需要的 :连接处理,身份验证,安 ...
- MySQL 配置文件及逻辑架构
配置文件: linux:/etc/my.cnf 默认配置文件:/usr/share/mysql/my-default.cnf windows:my.ini 主要日志文件: 二 ...
- MySQL数据库的逻辑架构和存储引擎
和其他数据库相比,MySQL数据库的架构与众不同,它的架构可以在多种不同的场景中应用并发挥良好的作用:主要体现在存储引擎上的架构上,插件式的存储引擎架构将查询处理和其他的系统任务以及数据存储提取相分离 ...
- 深入Netty逻辑架构,从Reactor线程模型开始
本文是Netty系列第6篇 上一篇文章我们从一个Netty的使用Demo,了解了用Netty构建一个Server服务端应用的基本方式.并且从这个Demo出发,简述了Netty的逻辑架构,并对Chann ...
- MySQL高级学习笔记(三):Mysql逻辑架构介绍、mysql存储引擎
文章目录 Mysql逻辑架构介绍 总体概览 总体概览 mysql存储引擎 查看命令 看你的 mysql 现在已提供什么存储引擎 : 看你的 mysql 当前默认的存储引擎 : 各个引擎简介 MyISA ...
- MySQL基础篇(05):逻辑架构图解和InnoDB存储引擎详解
本文源码:GitHub·点这里 || GitEE·点这里 一.MySQL逻辑架构 1.逻辑架构图 基于下面的逻辑架构图,可以大致熟悉MySQL各个架构组件之间的协同工作关系. 很经典的C/S架构风格, ...
- MySQL提升笔记(1):MySQL逻辑架构
深入学习MySQL,从概览MySQL逻辑架构开始. 首先来看一下MySQL的逻辑架构图: MySQL逻辑架构大概可以分为三层: 客户端:最上层的服务并不是MySQL所独有的,大多数基于网络的客户端/服 ...
- MySQL逻辑架构概述
1.MySQL逻辑架构 MySQL逻辑架构图 MySQL逻辑架构分四层 1.连接层:主要完成一些类似连接处理,授权认证及相关的安全方案. 2.服务层:在 MySQL据库系统处理底层数据之前的所有工作都 ...
- mysql逻辑架构
逻辑架构图 MySQL有点与众不同,它的逻辑架构可以在多种不同的场景中应用并发挥良好的作用.主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储提取相分离.这种架构 ...
随机推荐
- 在C,C++,JAVA中int,char,各占几个字节
int 在C和C++的占用2个字节,在java中4个字节char在C和C+中占一个字节 Java中无论是汉字还是英文字母都是用Unicode编码来表示的,一个Unicode码是16位,每字节是8位,所 ...
- 2016/7/30 div位置设置,表格大小统一
在做作业过程中遇到的一些问题和我的总结 1.作业中给出了一张背景图,并让我在背景图中一片区域写内容 我的思路是将一个div放在这片区域,那么问题就是如何定义div的位置和大小 查阅资料后发现并不复杂, ...
- iOS 高级框架的介绍
Core Data.Core Graphics.Core Animation 和 OpenGL ES 框架,是对于应用程序开发很重要的高级技术,因此需要花时间来学习和掌握. Core Data 框架管 ...
- BZOJ 1630/2023 Ant Counting 数蚂蚁
DP. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...
- PHP面向对象中常用的关键字和魔术方法
PHP面向对象中常用的关键字 final 1.final不能修饰成员属性(类中常量不是用这个关键字) 2.final只能修饰类和方法 作用: 使用fi ...
- PHP中使用的变量
变量是用于临时的存储值的容器.这些值可以是数字.文本,或者复杂得多的排列组合. 变量在任何编程语言中都居于核心地位,理解它们是使用PHP的关键所在.变量又是指在程序的运行过程中随时可以发生变化的量,是 ...
- Gmail邮箱添加域名解析
主机记录 MX 服务器地址 优先级@ MX ASPMX.L.GOOGLE.COM. 10@ MX ALT1.ASPMX.L.GOOGLE.COM. 20@ MX ALT2.AS ...
- Golang 交叉编译
各平台的GOOS和GOARCH参考 OS ARCH OS version linux 386 / amd64 / arm >= Linux 2.6 darwin 386 / amd64 OS X ...
- val() 和attr() 取值的问题
- Array操作方法和String操作方法比较
Array 的操作方法和 String 的操作方法老是弄混>_<,下面就对于这两个对象的常用操作方法进行比较~~ Array ☞ 操作方法 concat():returns a new a ...