DataStore 调试
DataStore 提供了一套全面的调试工具,用于帮助理解并优化数据管道。
调试工具概览
| 工具 | 用途 | 何时使用 |
|---|---|---|
explain() | 查看执行计划 | 了解将要执行的 SQL |
| Profiler | 测量性能 | 查找慢操作 |
| Logging | 查看执行细节 | 排查异常行为 |
快速决策矩阵
| 需求 | 工具 | 命令 |
|---|---|---|
| 查看执行计划 | explain() | ds.explain() |
| 分析性能 | Profiler | config.enable_profiling() |
| 调试 SQL 查询 | Logging | config.enable_debug() |
| 同时满足以上需求 | 组合使用 | 见下文 |
快速设置
启用全部调试功能
explain() 方法
在运行查询前先查看执行计划。
输出:
有关详细信息,请参阅 explain() 文档。
性能分析
用于测量每个操作的执行时间。
输出结果:
有关详细信息,请参阅 Profiling Guide。
日志
查看详细的执行日志。
日志输出示例:
有关详细信息,请参阅日志配置。
常见调试场景
1. 查询未返回预期的结果
2. 查询执行缓慢
3. 理解 Engine 选择
4. 调试缓存问题
最佳实践
1. 在开发环境中调试,而不要在生产环境中调试
2. 在执行大型查询之前使用 explain()
3. 优化前先做性能分析
4. 当结果不符合预期时检查 SQL
调试工具概览
| 工具 | 命令 | 输出 |
|---|---|---|
| 执行计划 | ds.explain() | 执行步骤 + SQL |
| 详细执行计划 | ds.explain(verbose=True) | + 元数据 |
| 查看 SQL | ds.to_sql() | SQL 查询字符串 |
| 启用调试 | config.enable_debug() | 详细日志 |
| 启用性能剖析 | config.enable_profiling() | 耗时数据 |
| 性能剖析报告 | get_profiler().report() | 性能概要 |
| 重置性能剖析 | get_profiler().reset() | 清除耗时数据 |
后续步骤
- explain() 方法 - 执行计划的详细说明
- Profiling 指南 - 性能分析
- 日志配置 - 日志级别与格式设置