MySQL架构与历史

MySQL逻辑架构

第一层:mysql客户端,负责和mysql服务器连接处理、认证授权、安全、线程处理等。

第二层:大多数mysql的核心功能都在这一层,包括查询解析、分析、优化、查询缓存以及所有的内置函数(如:日期、时间的函数等),所有夸存储引擎的功能都在这一层实现:存储过程、触发器、视图等。

第三层:包含存储引擎,存储引擎负责mysql中数据的存储、提取、锁机制等。

注:存储引擎不会解析sql。单InnoDB是一个列外,他会解析外键定义,因为mysql服务器本身没有实现该功能。

连接管理与安全性

每个客户端链接都会在服务器进程中拥有一个线程。这个链接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心CPU中运行。

Mysql5.5版本支持线程池插件,可以使用池中少量的线程来服务大量的链接。

当客户端连接Mysql服务器时,会对其进行验证,验证成功后,服务器会继续验证是否具有某个查询的权限。

优化与执行

1.MySQL会解析查询,并创建内部数据结构(解析树),然后对其进行各种优化,包括重写查询、决定表的读取顺序,以及选择合适的索引等。

2.优化器并不关心表用的是什么存储引擎,但存储引擎对于优化查询是有影响的。

3.对于select语句,在解析查询之前,首页会在查询缓存中检查,如果能在查询缓存中检索到结果,那么就不会在进行查询解析、分析、优化和执行的整个过程,而是直接从查询缓存中检查的结果集返回。

mysql 高性能架构_高性能MySQL之架构与历史(1)相关推荐

  1. MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结

    MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...

  2. mysql 主主结构_高性能mysql主主架构

    (3)配置参数说明 server-id:ID值唯一的标识了复制群集中的主从服务器,因此它们必须各不相同.master_id必须为1到232–1之间的一个正整数值,slave_id值必须为2到232–1 ...

  3. mysql核心数据库_从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程...

    从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程 课程目录 (1) 01MySQL基础_课程引入.avi (2) 02MySQL基础_为什么学习 ...

  4. mysql多大_洞悉MySQL底层架构:游走在缓冲与磁盘之间

    提起MySQL,其实网上已经有一大把教程了,为什么我还要写这篇文章呢,大概是因为网上很多网站都是比较零散,而且描述不够直观,不能系统对MySQL相关知识有一个系统的学习,导致不能形成知识体系.为此我撰 ...

  5. mysql性能视频教程_[视频教程] MySQL性能管理及架构设计 (完整版)

    第1章 实例和故事 决定电商11大促成败的各个关键因素. 1-1 什么决定了电商双11大促的成败 1-2 在双11大促中的数据库服务器 1-3 在大促中什么影响了数据库性能 1-4 大表带来的问题 1 ...

  6. mysql 如何提交_提交mysql

    Can't call commit when autocommit=true(转) java.sql.SQLException: Can't call commit when autocommit=t ...

  7. strace 分析mysql 内存占用_关于mysql cluster适用场景的分析

    前言: mysql cluster作为mysql官方的一个集群软件,一直是不温不火的存在,用的较多的仍是mysql-server,本文就基于mysql cluster的特性,分析一下什么场景下适合使用 ...

  8. datax导入MySQL报错_导入MySQL方法对比

    使用datax导入 1.使用自增id 记录数 耗时(秒) TPS 4248882 347 12244 33404813 4038 8272 2.不使用自增id,使用雪花算法生成id后导入 记录数 耗时 ...

  9. mysql分句执行_《Mysql 一条 SQL 语句是如何执行的?》

    一:概述 - 首先需要认识一下 Mysql 整体的基础架构 - 二:Mysql 的分层 - MySQL 可以分为 Server 层和存储引擎层两部分 - Server 层 - Server 层包括连接 ...

最新文章

  1. linux 面包店 多进程,Linux下的多进程编程(一)
  2. 大数据时代:从1.0到3.0 | 专访清华社会学系教授罗家德
  3. Ubuntu 18.04搭建Git服务器
  4. windows环境搭建golang的gin框架简易教程
  5. Java黑皮书课后题第3章:3.10(游戏:加法测试)程序清单3-3随机产生一个减法问题。修改这个程序,随机产生一个计算两个小于100的整数的加法问题
  6. .NET MD5加密解密代码
  7. Radio stations CodeForces - 762E (cdq分治)
  8. [Java基础]SimpleDateFormat类基础
  9. android 继承现有控件,Android继承现有控件拓展实现自定义控件textView
  10. android wpa2 wifi,让Android WiFi支持中文
  11. HTML5的新的结构元素介绍
  12. 【lib.es5】ArrayBuffer、DataView 的TypeScript接口
  13. python网络爬虫程序_Python写的网络爬虫程序(很简单)
  14. 安卓手机清楚内置X5浏览器缓存
  15. 【LED灯屏控制器】国产FPGA之 AG10KSDE176 初探(1)
  16. 2014蓝桥杯--史丰收速算(C++)
  17. img图片加载失败的处理
  18. 上班族中午趴桌子睡觉为什么会头晕眼花?
  19. CANopen COB-ID 使能PDO功能
  20. 景深决定照相机什么特性_2017年摄影专业单独考试试题库——简答

热门文章

  1. 解决由于sz rz导致抓包时文件容量增加
  2. java swing 选项卡_java – 如何通过单击按钮在jTabbedPane中切换选项卡?
  3. sql查询时间过长和什么有关系_2020年成人高考成绩查询时间是什么时候?
  4. Kubernetes-保障集群内节点和网络安全
  5. ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第四天(非原创)
  6. java的封装和this关键字知识整理
  7. 【翻译自mos文章】使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方式。...
  8. Java面向对象16种原则
  9. poj1548Robots dfs实践
  10. 如何才能成为一个成功的项目经理