Appearance
如何利用 AI 进行 Django 性能代码审计与 ORM 优化
解决 Django 项目中常见的数据库性能痛点:通过规范 AI 的审计逻辑,使其能够精准识别并验证 N+1 查询、无界 QuerySet 及缺失索引等问题,避免盲目猜测,输出可证明的优化建议。
为什么需要这个技能
Django ORM 提供了极高的开发效率,但其“惰性加载”机制极易导致严重的性能问题。最典型的 N+1 查询在开发环境下不明显,但在面对万级数据量且处于高频调用路径时,会导致请求超时甚至数据库崩溃。
手动审计所有 View 和 Serializer 的查询路径极其耗时。本技能通过为 AI 设定严格的“先研究、后验证、再报告”工作流,让 AI 扮演一名资深的性能专家,仅在能证明存在性能损耗时才提出修改建议。
适用场景
- 代码评审(CR)阶段:在合并代码前,检查新功能是否引入了低效的数据库查询。
- 性能专项优化:针对响应缓慢的接口,快速定位是否由于 ORM 使用不当导致。
- 老项目重构:对存量代码进行审计,查找缺失索引或内存溢出的潜在风险点。
核心工作流
AI 在执行此技能时将遵循以下优先级审计逻辑:
CRITICAL(严重)- N+1 查询与无界 QuerySet:
- 追踪从
ViewQuerysetTemplate/SerializerLoop的全链路数据流。 - 检查是否缺失
select_related或prefetch_related。 - 识别未分页的列表接口,防止因加载全表导致 OOM(内存溢出)。
- 追踪从
HIGH(高)- 索引缺失与写循环:
- 检查
filter()或order_by()涉及的字段在 Model 中是否定义了db_index=True或复合索引。 - 识别在循环中调用
.save()或.create()的行为,建议替换为bulk_create或bulk_update。
- 检查
LOW(低)- 低效模式:
- 如
count()与exists()的微小差异,仅在其他严重问题已解决后作为次要建议提及。
- 如
验证标准:AI 必须确认该路径为“热点路径”(高频调用)且数据量级较大,否则不予报告。
下载和安装
下载 django-perf-review 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐