Mysql数据库原理

本文介绍了MySQL数据库的工作原理,包括连接器处理用户请求、查询缓存、分析器的语法和词法分析、优化器选择执行路径以及存储引擎的作用。重点讲解了MyISAM和InnoDB两种存储引擎的特性,MyISAM强调查询速度,不支持事务,而InnoDB支持事务处理,提供更高的数据安全性。

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

Mysql是一个单进程的服务,对于每一个请求都是用线程来响应的。这就需要一个连接器来处理新用户的请求、响应,以及销毁。


mysql的执行流程:


 1.客户端请求,服务端(连接器)开辟线程相应用户

 2.用户发起SQL语句查询数据库

 3.查询缓存:记录用户的SQL查询语句。如果再次查询同样内容。就返回缓存

 4.如果缓存没有进入分析器。(分析器也可能借鉴缓存)

语法分析器:用户命令语法是否正确

词法分析器:将用户的命令进行切片,一个词一个词用空格隔开,获得用户要查询的表,内容,用户的权限等。

 5.优化:执行路径的选择,生成执行树,

  每一个SQL语句都有很多执行路径(比如多表关联查询时,哪两个表先结合查询,要通过优化器分析)。优化的目的就是在这些执行路径里面,选择一个最优的执行路径。

6.存储引擎:用于管理存储在文件系统。甚至是裸设备上的数据管理程序,它本身给上层应用提供不同的管理,有的支持事务,有的不支持事务。
数据库的对象:

  1.逻辑对象:表,微微关系,索引,视图,触发器,存储过程,存储函数,时间调度器,游标,用户。

   2.物理对象:数据管理组件(也可称为元数据),存储引擎,存储为物理文件。

数据库管理系统的基本功能:

 管理存储,安全管理,元数据管理,事务管理,ACID(原子性,一致性,隔离性,持久性),连接管理,性能优化,备份和还原机制,相应数据查询/修改请求。

存储引擎:将数据存储下来的中间层

数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。

如mysql数据库引擎:   MyISAM和InnoDB(MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持;但是MyISAM表的查询操作效率和速度都比InnoDB要快


日志文件:

Redo、Undo、Data、Index、Error、Query、Slow



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值