这个项目能做什么

django-query-optimizer 是一款旨在分析并优化 Django ORM 性能的工具。它能识别常见的数据库瓶颈,如 N+1 查询、重复的 SQL 执行以及慢查询,并提供具体的修复建议(例如使用 select_related() 或 prefetch_related())。 核心功能包括: - 查询收集:一个线程安全的上下文管理器和 HTTP 中间件,用于捕获 SQL 查询、执行时长以及 Python 堆栈跟踪。 - 专项检测器:内置针对通用慢查询/重复查询、N+1 模式、ForeignKey 查找重复以及 DRF 序列化器特定 N+1 问题的分析功能。 - 集成点: - Django Admin:一个用于查看会话列表和顶级慢查询的仪表盘。 - pytest:一个提供 `--query-analysis` 标志和 `query_collector` fixture 的插件,用于在测试中断言查询次数和性能。 - VS Code:支持 SARIF 2.1.0 输出,以便将诊断结果作为内联警告显示在编辑器中。 - 评分机制:一套健康评分系统(0-100)及等级评定(A-F),用于量化 ORM 效率。 该工具适用于开发环境,并提供公共 API,允许通过 QueryCollector 和 QueryAnalyzer 进行自定义分析。