tsql是mysql中的吗_Mysql中的sql是如何执行的

MySQL中的SQL是如何执行的

MySQL是典型的C/S架构,也就是Client/Server架构,服务器端程序使用的mysqld.整体的MySQL流程如下图所示:

2c5beddd0c4e224a30e4e7b594487c24.png

MySQL是有三层组成:

连接层: 负责客户端与服务器端建立连接,客户端发送SQL至服务端;

SQL层: 对SQL语句进行查询处理;

存储引擎层: 与数据库文件打交道,负责数据的存储和读取.

其中,SQL层与数据库文件的存储方式无关,我们来看下SQL层的架构:

7d0d93112140c04c095013de65b40d44.png

查询缓存: Server如果在查询缓存中发现了这条SQL语句,就会直接将结果返回给客户端;如果没有,就进入到解析器阶段.格外注意的是,因为查询缓存往往效率不高,所以在MySQL8.0之后就抛弃了缓存.

解析器: 在解析器中对SQL语句进行语法分析和语义分析.

优化器: 在优化器中会确定SQL语句的执行路径,比如说是根据全表检索,还是根据索引来检索等.

执行器: 在执行前需要判断用户是否具备权限,如果具备权限就执行SQL查询并返回结果.在MySQL8.0以下的版本,如果设置了查询缓存,这时会将查询结果进行缓存.

SQL语句在MySQL中的流程是: SQL语句 -> 缓存查询 -> 解析器 -> 优化器 -> 执行器.

说说存储引擎,MySQL的存储引擎采用了插件的方式,每个存储引擎都面向一种特定的数据库应用环境.同事MySQL还允许开发人员设置自己的存储引擎.下面列举常见的存储引擎:

InnoDB存储引擎: 是MySQL5.5.8版本之后默认的存储引擎,最大的特点是支持事务、行级锁定、外键约束等.

MyISAM存储引擎: 在MySQL5.5.8版本之前是默认的存储引擎,不支持事务,也不支持外键,最大的特点是速度快,占用资源少.

Memory存储引擎: 使用系统内存作为存储介质,以便得到更快的响应速度.不过如果mysqld进程崩溃,则会导致所有的数据丢失,因此只有当数据是临时数据的情况下才会使用Memory引擎.

NDB存储引擎: 也叫做NDB Cluster存储引擎,主要用于MySQL cluster分布式集群环境,类似于Oracle的RAC集群.

Archive存储引擎: 有很好的压缩机制,用于文件归档,在请求写入时会进行压缩,所以经常用来做仓库.

注意,数据库的设计在于表的设计,所以MySQL中每个表的设计都可以采用不同的存储引擎,可以根据实际情况的数据处理需要来选择存储引擎,这个是MySQL强大的地方.

数据库管理系统也是一种软件

完成的MySQL结构图如下:

f21db75602c9d80f2b59016cfdd2b3a8.png

profiling的使用,开启profiling可以让MySQL收集在SQL执行时所使用的资源情况,命令如下

select @@profiliong;

返回结果如果是0表示关闭,如果是1表示打开.可以使用 set profiling = 1;将profiling打开.

接下来可以执行sql语句,然后使用 show profiles来查询当前会话产生的所有peofiles.

0f0f93cc13703c3deb56f17d2b0cb7e3.png

前面会有query_id,可以使用show profile;获取上次查询执行的时间,或者使用show profile for query id;查询指定的query id执行的时间.

当然还有oracle的执行过程,这个暂时不研究.

aa058cddebeb22ffee0455802e6eae7a.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件质量特性测试

针对软件质量特性进行测试,可以避免重大漏测,一般人我不告诉他。《软件工程—产品质量》(GB/T 16260-2006)中规定对软件的每个质量特性与子特性都有定义:一、功能性:是指当软件在指定条件下使用&#xff0c…

amie 规则挖掘_AMIE的完整形式是什么?

amie 规则挖掘AMIE:工程师协会的准会员 (AMIE: Associate Member of the Institution of Engineers) AMIE is an abbreviation of Associate Member of the Institution of Engineers. The Institution of Engineers India Limited (IEIL) provides this profession…

Palo Alto Networks漏洞防护扩展至云端

中国北京,2016年4月12日 –下一代安全企业Palo Alto Networks?(纽交所代码:PANW)近日宣布进一步增强其下一代安全平台,扩展漏洞防护能力,以满足那些依赖云环境和SaaS应用的业务对安全的需求。 企业机构需要变得更加灵活和有竞争力…

java 嵌套调用_Java嵌套类的使用

嵌套类是指被定义在另一个类内部的类,它为外部类提供服务。嵌套类分四种:静态成员类、非静态成员类、匿名类和局部类。一、静态成员类与非静态成员类的区别?在什么情况下可以用静态成员类?我们知道在类的设计中,为了避…

车联网领域,传统TSP企业做错了什么 ?

当下,车联网的定义更加丰富和宽泛,除了传统意义上的Telematics服务,数字服务、移动出行服务、电商平台等将被融入到车联网概念中,与用车相关的维修保养、洗车、代驾等第三方服务,也将成为整车厂整合的重点被纳入到车联…

Shell脚本/bin/bash^M: bad interpreter错误解决方法

2019独角兽企业重金招聘Python工程师标准>>> 在windows下保存了一个脚本文件,用ssh上传到centos,添加权限执行nginx提示没有那个文件或目录。 shell脚本放到/etc/init.d/目录下,再执行/etc/init.d/nginx,提示多了这句/…

Facebook也大干新闻聚合 “新闻快读”向所有媒体开放

去年五月,Facebook推出了不离开本站直接阅读新闻的聚合服务“新闻快读”(Instant Articles),用户载入文章的速度大增,不过当时只面向一些特定合作的新闻机构。日前,这一聚合服务全面开始接纳所有的新闻媒体…

苹果再次拒绝协助美国政府解锁纽约毒品案中的iPhone

继美国联邦调查局(FBI)成功解锁圣贝纳迪诺市恐袭案枪手 Syed Farook所使用的iPhone 5c后,美国司法部已撤回对苹果公司采取的法律行动。然而近日美国司法部宣布,将继续要求苹果公司协助解锁一部在纽约毒品调查案中查获的iPhone 5s手机。不过苹果今天向美国…

java结构设计_Java基本的程序设计结构(一)

前言:虽然说学过设计模式,J2EE,这个学期才开始学Java,呵呵,有点颠倒了,但是还是要从基本的抓起。hoho~~(一)一个简单的java应用程序Package edu.ynu.java.lession1/*The simplest Ja…

中国制造2025变革,背后的大数据来龙去脉

大数据的成长路径一定是个长期成长过程,实用分析工具与先进分析理念,真正释放数字化分析的力量,由人类轨迹产生的数据,与机器自动产生的数据得出洞见,从管理决策推导运营方案,最终实现数据价值提升。无论是…

java 文件下载 jsp文件_jsp文件 Java实现文件上传与下载

通过前台选择文件,然后将资源上传到(即新建一个文件)到发布的资源文件下面,下载就是url 到发布的资源文件,触发即可自动下载。服务器已经封装了如何下载的底层实现。(此处用的是tomcat)JSP上传文件方法:关于在HTTP request 中通过…

微软免费软件项目DreamSpark更名为Microsoft Imagine

9月10日消息,微软免费软件项目DreamSpark近日正式更名为Microsoft Imagine,将与一年一度的微软“创新杯(Imagine Cup)”齐名。微软免费软件项目DreamSpark更名为Microsoft Imagine  2008年2月19日,微软公司董事长比尔盖茨在斯坦福大学发布了…

阿特斯携手EDF启动建设巴西191.5MW光伏项目

2016年10月11日,阿特斯太阳能(安大略省,圭尔夫)和EDF Energies Nouvelles(法国,巴黎)共同宣布,将阿特斯巴西Pirapora I太阳能项目80%的股权出售给EDF的巴西本地子公司EDF…

一? ilkkn.n_IL&FS的完整形式是什么?

一? il&kkn.nIL&FS:基础设施租赁和金融服务 (IL& FS: Infrastructure Leasing & Financial Services) IL&FS is an abbreviation of Infrastructure Leasing & Financial Services. It is the largest infrastructure development …

java notify唤醒原理_Java wait和notify虚假唤醒原理

自己在此记录一下,方便日后复习。虚假唤醒的概念jdk官方文档解释:所以说在wait和notify一块使用时,如果使用if作为条件时,会有虚假唤醒的情况发生,所以必须使用while作为循环条件。下面来举例实验:首先&…

C#里面的三种定时计时器:Timer

在.NET中有三种计时器:1、System.Windows.Forms命名空间下的Timer控件,它直接继承自Componet。Timer控件只有绑定了Tick事件和设置EnabledTrue后才会自动计时,停止计时可以用Stop()方法控制,通过Stop()停止之后,如果想…

wireshark rto_RTO的完整形式是什么?

wireshark rtoRTO:地区运输办公室/公路运输办公室 (RTO: Regional Transport Office/ Road Transport Office) RTO is an abbreviation of the Regional Transport Office. It is an Indian Government departmental organization that is responsible for upholdin…

有效的网络推广超级实用方法

我叫龙雨,先后在百度搜狗工作过3年,后来一直负责一家公司的的网络营销!不知道大家有没有听过111>3这样一个概念,简单来说一下这概念!第一呢就是自己的资源,把自己的资源维护好开发好;第二就是网络营销,网络营销利用…

linux上mysql分区磁盘位置_Linux下Oracle软件、数据文件等所在的磁盘分区空间不足的解决思路...

虚拟机中的ORACLE运行的久了,归档、数据文件不断增长,原来安装ORACLE的分区空间不足。此时可以重新向虚拟机增加一块硬盘,将OR虚拟机中的Oracle运行的久了,归档、数据文件不断增长,原来安装ORACLE的分区空间不足。此时…

FloatingActionMenu 向上弹出菜单

本人在github上找到了一个FloatingActionsMenu,精简了其效果(原效果有上下左右四个方向)仅仅保留向上的效果,并做了一定的优化。github上的源代码:地址 ,精简后的源代码地址:源代码地址。 转载于:https://www.cnblogs.…