码迷,mamicode.com
首页 > 数据库 > 详细

MySQL优化系列1-MySQL体系结构

时间:2020-04-29 18:42:06      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:code   连接池   connect   客户   mysql优化   查询日志   services   复制集   而不是   

MySQL体系结构(独有的插件式体系结构)


 

技术图片

 

 Connectors  连接器 支持多协议

  1. TCP/IP
  2. 命名管道和共享内存(window系统)
  3. UNIX域套接字(linxu或unix环境),只能是客户端和数据库实例在同一台服务器上时使用

mysql使用的是半双工通信方式(所以应用中要避免没有limit的查询,因为不做限制可能查出的数量很大)

Management Services&Utilities 系统管理和控制工具

mysqldump,mysql复制集群、分区管理等

Connetction Pool 连接池:

管理缓冲哟用户连接、用户名、密码、权限校验、线程处理等需要换纯的需求

SQL Interface SQL接口:

接受哟用户的sql命令,并且返回用户需要查询的结果

Parser 解析器:

SQL命令传递到解析器的时候会被解析器验证和解析,解析器是由Lex和YACC实现的

将sql解析成解析数,给预处理器处理

Optimizer 查询优化器,sql语句在查询之前会使用查询优化器对查询进行优化

SQL语句在查询之前会使用查询优化器对查询进行优化。他使用的是“选取-投影-联接”策略进行查询。

用一个例子就可以理解: select uid,name from user where gender = 1;

这个select 查询先根据where 语句进行选取,而不是先将表全部查询出来以后再进行gender过滤

这个select查询先根据uid和name进行属性投影,而不是将属性全部取出以后再进行过滤

将这两个查询条件联接起来生成最终查询结果

Cache & Buffers 查询缓存(MySql8已经废弃该功能),如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据

Pluggable storage Engines 插件式存储引擎(存储引擎是mysql独有的)

存储引擎是MySql中具体的与文件打交道的子系统.存储引擎是基于表的,而不是数据库,也就是说每张表都可以选择不同的存储引擎

不管使用什么存储引擎,每张表都会产生一个frm文件(表结构定义描述文件)

file System 文件系统

数据、日志(redo、undo)、索引、错误日志、查询记录、慢查询日志等

 

MySQL优化系列1-MySQL体系结构

标签:code   连接池   connect   客户   mysql优化   查询日志   services   复制集   而不是   

原文地址:https://www.cnblogs.com/zh-ch/p/12803325.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!