MySQL内部模块和功能
来源:互联网 发布:学优网下载软件 编辑:程序博客网 时间:2024/06/04 17:48
1.2 MySQL内部模块和功能
第一层:Connectors层指的是不同语言与SQL的交互,如C,PHP,Python,VB,NET,JDBC,ODBC等
第二层:Connection Pool指的是连接池,用于管路缓冲用户连接,线程处理等需要缓存的需求等
第三层:SQL Interface(SQL接口)接受用户的SQL命令,并且返回用户需要查询的结果。如select * from 等就是调用SQL Interface
Paeser(解析器)SQL命令传递到解析器的时候会被解析器验证和解析。解析器是由Lex和YACC实现的,是一个很长的脚本。
功能:(1)将SQL语句分解成数据结构,并将这个结构传递到后续步骤,以后SQL语句的传递和处理就是基于这个结构的
(2)若在分解构成中遇到错误,则说明这个SQL语句是不合理的
Optimizer(查询优化器)SQL语句在查询之前会使用查询优化器对查询进行优化,使用的策略为“选择---投影---连接”进行查询。
如select id,name,sex from student where sex='女',(1)此查询根据where语句进行选取,并不是将表全部查询出来以后在进行sex过滤(2)此查询根据id,name进行属性投影,并不是将属性全部取出以后再进行过滤(3)将(1)、(2)查询条件连接起来生成最终查询结果
Cache&Buffer(高速缓存和缓冲区)若查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中去数据。此缓存机制是由一系列小缓存组成的,如表缓存,记录缓存,key缓存,权限缓存等
第四层:Pulgggable Storage Engines(存储引擎层)是MySQL中具体与文件接触的子系统,也是最具体色的一层,MySQL的存储引擎是插件式的。它根据MySQL公司提供的文件访问层的一个抽象接口来定制一种文件访问机制(这种访问机制就叫存储引擎)现在有很多种存储引擎,各个存储引擎的优势各不一样,最常用的MyISAM,InnoDB,BDB默认下MySQL是使用MyISAM引擎,它查询速度快,有较好的索引优化和数据压缩技术,但是它不支持事务。InnoDB支持事务,并且提供行级的锁定,应用也相当广泛。 MySQL也支持自己定制存储引擎,甚至一个库中不同的表使用不同的存储引擎,这些都是允许的。
第五层:File System(文件系统)主要用于IO设备交互等
File&Logs(文件与日志)主要用于REDO,UNDO,data,Index,Binary,Error(错误日志),Query,Slow(慢日志)等
- MySQL内部模块和功能
- mysql 内部语句和语法
- 内部功能
- SIM300模块GPRS网络连接和内部电脑通讯!
- python os模块功能和方法总结
- ofbiz 的中国式erp 模块和功能
- phpweb 各模块的会员功能菜单内部链接网址清单
- Webkit内部模块结构
- vb内部控件及其功能和对象命名约定
- Scheme之功能分解和封装内部函数/块结构
- 功能、模块质量和非功能性测试
- 如何给Python的MySQL模块加功能
- 常规功能和模块自定义系统 (cfcmms)—043模块导航功能的重构(1)
- 常规功能和模块自定义系统 (cfcmms)—044模块导航功能的重构(2)
- perl DBI模块和DBD-mysql模块安装
- 常规功能和模块自定义系统 (cfcmms)—046模块导航功能的重构(4)层级模块的导航
- lua开发之--mysql和http模块
- nw.js node-webkit系列(15)如何使用内部模块和第三方模块进行开发
- py day03
- 使用Mutex实现Windows下进程间互斥访问同一资源
- Android中观察者模式
- linux 下 svn操作
- Unity ugui button自适应text大小
- MySQL内部模块和功能
- 深度学习算法应用中的问题及原因分析(1)
- 机器学习
- kvm虚拟机迁移
- Manjaro关于signature from "Philip Müller (Called Little) <philm@manjaro.org>" is unknown trust的解决办法
- excel中这些不为人知的操作技巧,简单粗暴!你知道的有多少?
- CRF条件随机场简单解释
- BroadcastReceiver两种注册方式的使用方法
- Unable to resolve host "api1.51zhenghao.cn": No address associated with hostname