MySQL 介绍

本文详细介绍了MySQL的存储引擎架构,包括InnoDB和MyISAM的区别,以及MySQL的并发控制机制,如读写锁和锁粒度。重点讲解了InnoDB的多版本并发控制(MVCC)如何提升并发性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL 介绍

MySQL最重要、最与众不同的特性是它的存储引擎架构。

这种架构的设计将查询处理及其它系统任务,和数据的存储、提取相分离。

本章概要地描述了MySQL的服务架构、各种存储引擎之间的主要区别,以及这些区别的重要性。

1.1 MySQL 逻辑架构

第一层:不是MySQL所独有的,大多数基于网络的客户端、服务器的工具或者服务都有类似的架构。比如连接处理、授权认证、安全等等。

第二层:MySQL核心服务功能。包括查询解析、分析、优化、缓存以及所有的内置函数,所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等。

第三层:包含了存储引擎。存储引擎负责MySQL中数据的存储和提取。

1.1.1 连接管理与安全性

每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行。

服务器会负责缓存线程,因此不需要为每一个新建的连接创建或者销毁线程。

当客户端(应用)连接到MySQL 服务器时,服务器需要对其进行认证。

一旦客户端连接成功,服务器会继续验证该客户端是否具有执行某个特定查询的权限。

1.1.2 优化与执行

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

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

对于SELECT 语句ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值