当前位置: 首页 > news >正文

2 建立连接

1. 连接器

池化技术:对于访问数据库来说,建立连接的代价是比较昂贵的,因为每个连接对应一个用来交互的线程,频繁的创建关闭连接比较耗费资源,有必要建立数据库连接池,以提高访问的性能

连接建立 TCP 以后需要做权限验证,验证成功后可以进行执行 SQL。如果这时管理员账号对这个用户的权限做了修改,也不会影响已经存在连接的权限,只有再新建的连接才会使用新的权限设置

MySQL 服务器可以同时和多个客户端进行交互,所以要保证每个连接会话的隔离性(事务机制)

整体的执行流程:

2. 权限信息

grant 语句会同时修改数据表和内存,判断权限的时候使用的是内存数据

flush privileges 语句本身会用数据表(磁盘)的数据重建一份内存权限数据,所以在权限数据可能存在不一致的情况下使用,这种不一致往往是由于直接用 DML 语句操作系统权限表导致的,所以尽量不要使用这类语句

3. 连接状态

客户端如果长时间没有操作,连接器就会自动断开,时间是由参数 wait_timeout 控制的,默认值是 8 小时。如果在连接被断开之后,客户端再次发送请求的话,就会收到一个错误提醒:Lost connection to MySQL server during query

数据库里面,长连接是指连接成功后,如果客户端持续有请求,则一直使用同一个连接;短连接则是指每次执行完很少的几次查询就断开连接,下次查询再重新建立一个

为了减少连接的创建,推荐使用长连接,但是过多的长连接会造成 OOM,解决方案:

定期断开长连接,使用一段时间,或者程序里面判断执行过一个占用内存的大查询后,断开连接,之后要查询再重连KILLCONNECTIONid
MySQL5.7版本,可以在每次执行一个比较大的操作后,通过执行 mysql_reset_connection 来重新初始化连接资源,这个过程不需要重连和重新做权限验证,但是会将连接恢复到刚刚创建完时的状态

SHOW PROCESSLIST:查看当前 MySQL 在进行的线程,可以实时地查看 SQL 的执行情况,其中的 Command 列显示为 Sleep 的这一行,就表示现在系统里面有一个空闲连接



Sending data 状态表示 MySQL 线程开始访问数据行并把结果返回给客户端,而不仅仅只是返回给客户端,是处于执行器过程中的任意阶段。由于在 Sending data 状态下,MySQL 线程需要做大量磁盘读取操作,所以是整个查询中耗时最长的状态

http://www.jsqmd.com/news/1072710/

相关文章:

  • LIVE项目解析:基于图像先验与时间一致性的AI视频编辑技术
  • 高股息投资笔记-股票的人性2
  • MacBook的实用小技巧
  • 华为OD机试真题-预测新能源发电量(C/C++/Py/Java/Js/Go)
  • 企业低价使用 GPT5.5 API 解决方案
  • 量子计算与分子模拟在药物设计中的革命性突破
  • 自动驾驶高清地图向量化实验中的常见评价指标解析
  • 极小超曲面与Yau猜想:对称流形中的无限存在性定理
  • 2026新能源下乡155款车型全拆解:从625亿国补到铁锂涨价,全产业链机会地图
  • 知名做PE自封袋的厂家
  • 基于 Harmony 7.0 应用的信用卡管理应用首页实现
  • 研发与业务协同工具怎么选?2026 主流团队云存储架构深度横评与避坑指南
  • [崛起]大国纪录片系列合集
  • AI如何从视频中学习物理规律:从视觉真实到物理有效的跨越
  • 东南亚多人手游区域 CDN 调优实战:新加坡、曼谷本地边缘节点降低联机延迟、过滤 UDP 异常流量
  • 基于参考感知比较建模的AIGC视频质量评估方法(RefVQA)详解
  • 状态 / 类型定义 策略模式 统一返回码
  • Vite vs Webpack 深度对比:从启动原理到生产构建,一篇就够了
  • 视觉语言模型中的熵梯度证据定位技术解析
  • VLCKit字幕设置与字体调整的实践
  • 4.从数字电路视角吃透 PLC:扫描周期原理 + Codesys ST 电机正反转完整工程
  • Carleman线性化在流体动力学模拟中的应用与优化
  • 多团队协同开发数据库(中):并行开发的操作冲突与性能干扰
  • 百考通AI,论文降重与去AI痕迹,更安心,让数据为你说话
  • 【C++大型项目之高性能服务器框架 (三) 】协程调度器定时器IO协程管理器篇 (上)
  • TSM-Pose:基于拓扑感知与Mamba的类别级6D姿态估计框架解析
  • LLM提示词工程2.0:从Prompt到Prompt DSL的范式演进2026
  • Spring AI 2.0.0 升级注意事项:Spring Boot 4、RAG Advisor、Tool Calling、MCP 怎么看
  • 深度学习赋能冷冻电镜:结构感知多模态U-Net密度图增强实战
  • 使用CustomTkinter和Matplotlib绘制动态数据窗口