- 在上一篇 FastAPI 入门教程中,我们已经学会了如何创建 Web API、定义路由和处理请求参数。不过,如果数据只保存在 Python 的内存字典中,应用重启后数据就会丢失,无法满足真实项目的需求。因此,本文将进一步介绍如何使用 FastAPI 连接 MySQL 数据库,通过 SQLAlchemy 2.0 实现完整的 CRUD 操作,并使用 Pydantic 进行数据校验。完成本教程后,... 在上一篇 FastAPI 入门教程中,我们已经学会了如何创建 Web API、定义路由和处理请求参数。不过,如果数据只保存在 Python 的内存字典中,应用重启后数据就会丢失,无法满足真实项目的需求。因此,本文将进一步介绍如何使用 FastAPI 连接 MySQL 数据库,通过 SQLAlchemy 2.0 实现完整的 CRUD 操作,并使用 Pydantic 进行数据校验。完成本教程后,...
- RDS for MySQL 入门本文介绍在华为云创建 RDS for MySQL 实例并用 Python 连接的流程。 1. 创建实例前的准备RDS 实例要与 ECS 放在同一区域、同一 VPC,用内网地址访问,延迟最低且无需开放公网。学习阶段选择按需计费的最小通用规格,数据库版本选 MySQL 8.0,字符集使用 utf8mb4。 2. 创建实例控制台进入“云数据库 RDS”,点击“购买... RDS for MySQL 入门本文介绍在华为云创建 RDS for MySQL 实例并用 Python 连接的流程。 1. 创建实例前的准备RDS 实例要与 ECS 放在同一区域、同一 VPC,用内网地址访问,延迟最低且无需开放公网。学习阶段选择按需计费的最小通用规格,数据库版本选 MySQL 8.0,字符集使用 utf8mb4。 2. 创建实例控制台进入“云数据库 RDS”,点击“购买...
- 按慢日志取证、mysqldumpslow 聚合、EXPLAIN 分析、加索引验证四步,系统定位并解决 MySQL 慢查询。 按慢日志取证、mysqldumpslow 聚合、EXPLAIN 分析、加索引验证四步,系统定位并解决 MySQL 慢查询。
- > 读写分离下,"先读主还是先读从"不是全局开关,而是按请求语义路由:写后读的热点强制走主,普通读走从,再叠一层延迟感知兜底。一刀切读主等于没做读写分离,一刀切读从等于埋下读不到刚写的雷。---## 0. 那个让人怀疑人生的 bug线上报了个诡异工单:- 用户改完昵称,刷新页面还是旧的;- 刚下单成功,跳到"我的订单"列表里却找不到;- 注册完立刻登录,提示"用户不存在"。三件事没关联,根因... > 读写分离下,"先读主还是先读从"不是全局开关,而是按请求语义路由:写后读的热点强制走主,普通读走从,再叠一层延迟感知兜底。一刀切读主等于没做读写分离,一刀切读从等于埋下读不到刚写的雷。---## 0. 那个让人怀疑人生的 bug线上报了个诡异工单:- 用户改完昵称,刷新页面还是旧的;- 刚下单成功,跳到"我的订单"列表里却找不到;- 注册完立刻登录,提示"用户不存在"。三件事没关联,根因...
- 近日,玖章算术(浙江)科技有限公司旗下 NineData 云原生智能数据管理平台,顺利完成与飞腾处理器的产品兼容性联合认证。经过全维度测评,双方产品运行稳定、适配效果优异、整体运行高效稳定,可实现无缝集成与深度协同。 近日,玖章算术(浙江)科技有限公司旗下 NineData 云原生智能数据管理平台,顺利完成与飞腾处理器的产品兼容性联合认证。经过全维度测评,双方产品运行稳定、适配效果优异、整体运行高效稳定,可实现无缝集成与深度协同。
- 一、为什么要用 Docker Compose在本地开发后端项目时,经常需要同时用到 MySQL 和 Redis。如果直接在电脑上安装,不同项目的版本容易冲突,换电脑后还要重新配置一遍。使用 Docker Compose 只需要一个 YAML 文件,就能一条命令启动整套依赖服务,团队成员拿到同一份文件就能得到完全一致的环境,非常适合日常开发和测试。 二、编写 docker-compose.y... 一、为什么要用 Docker Compose在本地开发后端项目时,经常需要同时用到 MySQL 和 Redis。如果直接在电脑上安装,不同项目的版本容易冲突,换电脑后还要重新配置一遍。使用 Docker Compose 只需要一个 YAML 文件,就能一条命令启动整套依赖服务,团队成员拿到同一份文件就能得到完全一致的环境,非常适合日常开发和测试。 二、编写 docker-compose.y...
- 数据库性能优化实战:从 SQL 到索引的完整指南SEO关键词: 数据库性能优化、SQL优化、MySQL索引优化、慢查询优化、数据库查询效率、数据库性能调优文章摘要: 数据库查询缓慢是后端开发和服务器运维中常见的问题。本文从慢 SQL 分析、索引设计、查询语句优化、分页查询、事务管理及数据库连接池等方面,介绍一套实用的 MySQL 性能优化方法,帮助开发者定位瓶颈并提升数据库响应速度。 一、... 数据库性能优化实战:从 SQL 到索引的完整指南SEO关键词: 数据库性能优化、SQL优化、MySQL索引优化、慢查询优化、数据库查询效率、数据库性能调优文章摘要: 数据库查询缓慢是后端开发和服务器运维中常见的问题。本文从慢 SQL 分析、索引设计、查询语句优化、分页查询、事务管理及数据库连接池等方面,介绍一套实用的 MySQL 性能优化方法,帮助开发者定位瓶颈并提升数据库响应速度。 一、...
- MySQL 默认的隔离级别是可重复读,它和读已提交的差别,在并发场景下会很明显。 MySQL 默认的隔离级别是可重复读,它和读已提交的差别,在并发场景下会很明显。
- 一次 MySQL 慢查询引发的接口超时:从 3 秒到 80 毫秒的优化实战一个列表页接口突然从 200ms 涨到 3 秒多,客户端频繁超时。最后定位到一个没走索引的隐式类型转换,加一个字段变更加联合索引,查询从 3.2 秒降到 80 毫秒。本文记录完整的定位过程,重点讲讲那个最容易被忽略的坑:隐式类型转换。环境:华为云 ECS(4vCPU/8GB,Ubuntu 22.04),自建 MySQL... 一次 MySQL 慢查询引发的接口超时:从 3 秒到 80 毫秒的优化实战一个列表页接口突然从 200ms 涨到 3 秒多,客户端频繁超时。最后定位到一个没走索引的隐式类型转换,加一个字段变更加联合索引,查询从 3.2 秒降到 80 毫秒。本文记录完整的定位过程,重点讲讲那个最容易被忽略的坑:隐式类型转换。环境:华为云 ECS(4vCPU/8GB,Ubuntu 22.04),自建 MySQL...
- 从一条 DELETE 删千万行、跑半小时没完、主从延迟飙到八分钟切入,拆清一条大 DELETE 其实是一个大事务:undo 只涨不缩、行锁持有到提交、ROW binlog 撑爆带宽、回滚比执行更久。给出按主键分批的脚本、批次监控与场景判断表,并说明能归档就别硬删。 从一条 DELETE 删千万行、跑半小时没完、主从延迟飙到八分钟切入,拆清一条大 DELETE 其实是一个大事务:undo 只涨不缩、行锁持有到提交、ROW binlog 撑爆带宽、回滚比执行更久。给出按主键分批的脚本、批次监控与场景判断表,并说明能归档就别硬删。
- > 缓存可以丢、可以重放、可以回源;数据库丢了就是真丢了。所以这道题的答案,其实在动手之前就定了。---## 0. 大促前夜的这道送命题凌晨两点,活动八点开始,几千万条商品要做缓存预热。运维把脚本跑起来,有人随口问了一句:"咱这是先写库还是先灌缓存?"一句"都行吧,反正最后都有",把雷埋下了。等八点流量进来,有人发现活动价不对、库存显示有货却下单失败、对账差了几万条——翻遍日志才定位到,是预... > 缓存可以丢、可以重放、可以回源;数据库丢了就是真丢了。所以这道题的答案,其实在动手之前就定了。---## 0. 大促前夜的这道送命题凌晨两点,活动八点开始,几千万条商品要做缓存预热。运维把脚本跑起来,有人随口问了一句:"咱这是先写库还是先灌缓存?"一句"都行吧,反正最后都有",把雷埋下了。等八点流量进来,有人发现活动价不对、库存显示有货却下单失败、对账差了几万条——翻遍日志才定位到,是预...
- 用 PHP、MySQL 和 Redis 实现一个小型下单流程:MySQL 条件更新防超卖,唯一请求键保证幂等,提交后删除展示缓存;同时分析缓存竞态、故障恢复与验收用例。 用 PHP、MySQL 和 Redis 实现一个小型下单流程:MySQL 条件更新防超卖,唯一请求键保证幂等,提交后删除展示缓存;同时分析缓存竞态、故障恢复与验收用例。
- SQL 语句与执行计划优化熟练利用 EXPLAIN 分析执行计划通过 EXPLAIN(或 EXPLAIN FORMAT=JSON)排查慢 SQL,重点关注以下关键字段:字段风险/关注点建议/目标typeALL(全表扫描)、index(全索引扫描)优化至 ref、eq_ref、const 或 rangerows预估扫描行数过大增加过滤索引或优化过滤条件ExtraUsing filesort、U... SQL 语句与执行计划优化熟练利用 EXPLAIN 分析执行计划通过 EXPLAIN(或 EXPLAIN FORMAT=JSON)排查慢 SQL,重点关注以下关键字段:字段风险/关注点建议/目标typeALL(全表扫描)、index(全索引扫描)优化至 ref、eq_ref、const 或 rangerows预估扫描行数过大增加过滤索引或优化过滤条件ExtraUsing filesort、U...
- rows_examined 是优化器实际扫描的行数,返回行数只看结果集大小。两者差三个数量级,说明索引没吃到或者吃错了列,按下面顺序排查。第一步看 EXPLAIN 的 type 和 key。type 是 ALL 说明全表扫,index 说明扫了整棵索引树同样不划算,只有 range、ref、eq_ref 才算用上。key 为 NULL 就是没走索引,重点查 WHERE 列有没有索引、索引列上... rows_examined 是优化器实际扫描的行数,返回行数只看结果集大小。两者差三个数量级,说明索引没吃到或者吃错了列,按下面顺序排查。第一步看 EXPLAIN 的 type 和 key。type 是 ALL 说明全表扫,index 说明扫了整棵索引树同样不划算,只有 range、ref、eq_ref 才算用上。key 为 NULL 就是没走索引,重点查 WHERE 列有没有索引、索引列上...
- RDS for MySQL 默认开启自动备份,但真正用的时候,有几个细节值得提前确认。第一,备份保留天数。默认保留七天,如果业务有合规要求,建议在备份策略里调长,同时留意备份空间超出免费额度后会计费。第二,备份时间窗。自动全量备份会占用一定 IO,应把时间窗设在业务低峰,比如凌晨两点到三点,避免和批量任务撞车。第三,增量备份即binlog备份,默认每五分钟左右上传一次,这是按时间点恢复的基础... RDS for MySQL 默认开启自动备份,但真正用的时候,有几个细节值得提前确认。第一,备份保留天数。默认保留七天,如果业务有合规要求,建议在备份策略里调长,同时留意备份空间超出免费额度后会计费。第二,备份时间窗。自动全量备份会占用一定 IO,应把时间窗设在业务低峰,比如凌晨两点到三点,避免和批量任务撞车。第三,增量备份即binlog备份,默认每五分钟左右上传一次,这是按时间点恢复的基础...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签