我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL的session过程是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL的session过程是什么

本篇内容主要讲解“MySQL的session过程是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL的session过程是什么”吧!

MySQL session过程的简单梳理:

1. master分配session 对应的服务进程,设置基本session信息

2. 接收client端的SQL

3. 加载相关table 定义、描述符和句柄等信息

4. 优化器analyzing and statistics

5. 存储引擎读写数据块

6. 获取mutex进程互斥量

7. 获取page的latch

8. innodb 引擎层反馈数据或者信息给server层

9.server层处理中间结果集

10. net_write返回结果给客户端

session状态的state列说明

state列:显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述。

state只是语句执行中的某一个状态,一个sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成。

mysql列出的state主要有以下几种关键状态:

System lock

正在等待取得一个外部的系统锁。如果当前没有运行多个 mysqld 服务器同时请求同一个表,那么可以通过增加 –skip-external-locking参数来禁止外部系统锁。

Checking table

正在检查数据表(这是自动的)。

Opening tables

这个过程应该会很快,除非受到其他因素的干扰。例如,在执 ALTER TABLE 或 LOCK TABLE 语句行完以前,数据表无法被其他线程打开。 正尝试打开一个表。

Flushing tables

正在执行 FLUSH TABLES,等待其他线程关闭数据表。

Closing tables

正在将表中修改的数据刷新到磁盘中,同时正在关闭已经用完的表。这是一个很快的操作,如果不是这样的话,就应该确认磁盘空间是否已经满了或者磁盘是否正处于重负中。

Killed

发送了一个kill请求给某线程,那么这个线程将会检查kill标志位,同时会放弃下一个kill请求。MySQL会在每次的主循环中检查kill标志位,不过有些情况下该线程可能会过一小段才能死掉。如果该线程程被其他线程锁住了,那么kill请求会在锁释放时马上生效。

Waiting for tables

该线程得到通知,数据表结构已经被修改了,需要重新打开数据表以取得新的结构。然后,为了能的重新打开数据表,必须等到所有其他线程关闭这个表。以下几种情况下会产生这个通知:FLUSH TABLES tbl_name, ALTER TABLE, RENAME TABLE, REPAIR TABLE, ANALYZE TABLE, 或 OPTIMIZE TABLE。

Reopen table

获得了对一个表的锁,但是必须在表结构修改之后才能获得这个锁。已经释放锁,关闭数据表,正尝试重新打开数据表。

到此,相信大家对“MySQL的session过程是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL的session过程是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql的存储过程是什么

MySQL的存储过程是一种在数据库服务器内部存储和执行的一组SQL语句集合。存储过程可以包含SQL语句、控制结构、变量声明和赋值等,类似于程序中的函数或方法。存储过程可以被调用和执行,可以帮助简化复杂的SQL操作,提高数据库的性能和安全性。
mysql的存储过程是什么
2024-04-09

MySQL中的存储过程是什么

MySQL中的存储过程是一段预先编译好的SQL代码块,它可以在需要的时候被调用执行。存储过程通常用于封装一系列SQL语句,以实现特定的功能或任务。存储过程可以接受参数,并可以返回结果。它可以在数据库服务器上创建和存储,并可以通过调用存储过程
2023-08-15

mysql存储过程的作用是什么

本篇内容主要讲解“mysql存储过程的作用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql存储过程的作用是什么”吧!mysql存储过程的作用:1、通过
2023-04-19

MySQL中order by的执行过程是什么

本文小编为大家详细介绍“MySQL中order by的执行过程是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL中order by的执行过程是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一 、
2023-06-30

MySQL存储过程是用来干什么的

MySQL存储过程是一段预编译的代码,用于执行特定的数据库操作。它可以接收参数、执行查询语句、控制流程,以及返回结果。存储过程通常用于实现复杂的业务逻辑和数据操作,可以提高数据库的性能和安全性,并简化应用程序的开发和维护。一些常见的用途包括
2023-08-16

mysql中查询的执行过程是什么

今天就跟大家聊聊有关mysql中查询的执行过程是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、过程客户端向MySQL服务器发送一条查询请求;服务器首先检查查询缓存,如果命中缓
2023-06-15

mysql存储过程指的是什么意思

小编给大家分享一下mysql存储过程指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、说明一组预先编译好的SQL语句的集合,理解成批处理语句。可以提
2023-06-15

jsp session的用法是什么

JSP(Java Server Pages)Session 是用来在服务器端存储和管理用户数据的一种机制。通过使用Session,可以在不同的页面和请求之间共享和存储数据,以便在用户会话期间保持状态。JSP Session 的用法如下:1.
2023-09-27

spring session的原理是什么

Spring Session是一种用于管理用户会话的框架,它通过将会话数据存储在外部存储介质中,而不是默认的内存中,来实现会话的持久化和分布式管理。Spring Session的原理如下:1. 在用户请求到达服务器时,Spring Sess
2023-09-21

mysql存储过程调试的方法是什么

MySQL存储过程调试的方法有以下几种:使用PRINT或SELECT语句输出变量值:在存储过程中可以使用PRINT或SELECT语句输出变量的值,以便在执行过程中查看变量的取值情况。使用DEBUG功能:MySQL提供了DEBUG功能,可以通
mysql存储过程调试的方法是什么
2024-04-09

MySQL查询语句的执行过程是什么

这篇文章主要介绍MySQL查询语句的执行过程是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先先简单的将一个查询语句背后MySQL做了什么捋一捋:客户端发送一条查询给服务器。服务器先检查查询缓存,如果命中了缓存
2023-06-14

drools的有状态Session和无状态Session是什么

这篇文章主要介绍了drools的有状态Session和无状态Session是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇drools的有状态Session和无状态Session是什么文章都会有所收获,下面
2023-06-30

编程热搜

目录