MySQL自动化平台那些事-分秒必争

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

目前正在开发,SQL审核模块。基础功能已经开发完毕,一路也算顺风顺水,从10月8号开始开发这个模块,在做最后一个功能的时候回滚SQL,突然在开发的过程中有遇见“难事”了,听我徐徐道来。

d6b302d37aba09e358e3be008549e63341511b03

流程介绍:

开发写入要上线SQL,由于开发组长查看,并且审核。判断是否可以执行,如果可以执行可以选择立即执行,或者定时执行,可以选择执行时间。哪怕凌晨执行都可以。(从此不用半夜陪开发上线啦~)。如果上线失败,就会面临SQL回滚。

故事的背景介绍完毕,开始说正文

问题现象,点击SQL回滚,然后然后就卡住了。这部分的代码如下

7112560e543b9ebd477453bedda22a817a665429

代码逻辑:先获取第一个SQL的返回结果,把SQL结果添加到列表中,作为参数传递给第二条SQL作为条件,获得第二条SQL的返回值,添加到字典中,把这个字典返回给django。

就是这段代码,执行时间大概需要40S左右,(我和我的小伙伴都惊呆了)。因为SQL本身并不慢单独执行不到0S。那么问题来了为什么,需要那么久呢。

因为这个问题折腾了很久,到底是哪里消耗了那么多时间呢。苦思冥想,久久不能解。于是我找到了 我的好基友知数堂 zizi老师。

zizi老师:"机智的我一眼就看到了你犯的错。但我就不告诉你,就不告诉你。但我可以跟你一起排错,让你自己来发现“。

帅萌:”大神收下我的膝盖吧~“

zizi老师:”我这就传授你心法,首先你再关键的位置打上时间戳,然后在看看那步消耗时间久“

于是代码就是这样的

5f64a10b107d3ed770bd32098f20ae40469c58e4

zizi老师:”你应该发现了吧,是这步消耗了你太多时间 ,每条SQL要链接MySQL,所以主要消耗时间在这里。“

bdb2517fcf37308a2b0efd42405b2c02e183b478

帅萌说:”嗯,有道理。吱吱老师我的偶像,于是我改了一版本”。

7d089acb589e3214a4db4143df00e8b0714812da

执行时间:

f300fec22d721568563023a7c4b178277f70ef7b

帅萌:“zizi老师好厉害,现在页面出,果然不卡了”

zizi老师:“知道消耗时间在哪里了嘛,你每次执行SQL都需要,频繁的创建链接和销毁链接,中途网络开销的消耗,一条需要消耗1S,那么数目多了自然就会慢。”,当然你后面的哪个版本虽然能解决问题,但我有更好的办法。

帅萌:“汗,快被我自己给蠢哭了。。。zizi老师还有什么其他建议吗?”

zizi老师:"我建议你使用连接池,其实我的课中已经讲过了”第四期第九周时“,这样会快很多。上课有没听课吧,你按照我说的配置,指定速度嗖嗖的~”

帅萌:"zizi老师我这块要不要启用多线程,这样会不会更快”

zizi老师:“目前的状况来说,其实没必要。因为数据库本身访问非常快。主要原因不是SQL慢,而是你创建连接需要消耗时间。”

帅萌:"受教,受教。多谢zizi老师"


原文发布时间为:2018-10-30

本文作者:田帅萌

本文来自云栖社区合作伙伴“老叶茶馆”,了解相关信息可以关注“老叶茶馆”。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
安全 Linux 虚拟化
Palo Alto Cortex XSOAR 8.8 for ESXi - 安全编排、自动化和响应 (SOAR) 平台
Palo Alto Cortex XSOAR 8.8 for ESXi - 安全编排、自动化和响应 (SOAR) 平台
46 0
Palo Alto Cortex XSOAR 8.8 for ESXi - 安全编排、自动化和响应 (SOAR) 平台
|
1月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
161 41
|
26天前
|
JavaScript 搜索推荐 前端开发
通义灵码2.5智能体模式联合MCP:打造自动化菜品推荐平台,实现从需求到部署的全流程创新
本项目利用通义灵码2.5的智能体模式与MCP服务,构建在线点餐推荐网站。基于Qwen3模型,实现从需求到代码生成的全流程自动化,集成“今天吃什么”和EdgeOne MCP服务,提供个性化推荐、偏好管理等功能。技术架构采用React/Vue.js前端与Node.js后端,结合MCP工具链简化开发。项目涵盖功能测试、部署及未来扩展方向,如餐厅推荐、语音交互等,展示高效开发与灵活扩展能力。
|
3月前
|
运维 安全 网络安全
自动化与统一管理:Websoft9 平台为教师提供的一站式解决方案
教育场景常面临资源分散、技术门槛高、资源利用低效及安全风险等问题。Websoft9 提供自动化部署与统一管理方案,通过预集成应用模板库、容器化资源隔离和智能运维监控等技术,大幅缩短环境搭建时间,提升资源利用率并保障数据安全。其典型应用场景包括混合教学环境搭建、科研项目管理和实验课程弹性扩展,助力高校降低成本、提高效率。Websoft9 的图形化界面降低技术门槛,支持自定义开发,推动教育数字化转型,未来有望成为教学生产力提升的底层基座。
66 6
|
7月前
|
监控 前端开发 Java
【技术开发】接口管理平台要用什么技术栈?推荐:Java+Vue3+Docker+MySQL
该文档介绍了基于Java后端和Vue3前端构建的管理系统的技术栈及功能模块,涵盖管理后台的访问、登录、首页概览、API接口管理、接口权限设置、接口监控、计费管理、账号管理、应用管理、数据库配置、站点配置及管理员个人设置等内容,并提供了访问地址及操作指南。
|
8月前
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
185 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
|
10月前
|
测试技术 Android开发 iOS开发
Appium 是一个开源的自动化测试框架,它支持多种平台和多种编程语言
Appium是一款开源自动化测试框架,支持iOS和Android多平台及多种编程语言。通过WebDriver协议,开发者可编写自动化测试脚本。在iPhone上实现屏幕点击等操作需安装Appium及其依赖,启动服务器,并设置所需的测试环境参数。利用Python等语言编写测试脚本,模拟用户交互行为,最后运行测试脚本来验证应用功能。对于iPhone测试,需准备真实设备或Xcode模拟器。
259 1
|
10月前
|
SQL 数据采集 关系型数据库
|
10月前
|
关系型数据库 MySQL 机器人
【MySQL】两个脚本自动化搞定 MySQL 备份恢复--XtraBackup
【MySQL】两个脚本自动化搞定 MySQL 备份恢复--XtraBackup
|
存储 关系型数据库 MySQL
21. Mysql 事件或定时任务,解放双手,轻松实现自动化
21. Mysql 事件或定时任务,解放双手,轻松实现自动化
259 1

推荐镜像

更多