快速入门
启用性能分析
性能分析器 API
获取 性能分析器
report()
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
min_duration_ms | float | 0.1 | 仅显示耗时 >= 该值的步骤 |
- 每个步骤的耗时 (毫秒)
- 父级时间/总时间的百分比
- 操作的层级嵌套关系
- 每个步骤的元数据 (例如
ops_count、ops)
step()
clear()
summary()
了解报告
步骤名称
| 步骤名称 | 描述 |
|---|---|
Total Execution | 总执行时间 |
Query Planning | 查询计划耗时 |
SQL Segment N | 执行 SQL 片段 N |
SQL Execution | 实际 SQL 查询执行 |
Result to DataFrame | 将结果转换为 pandas DataFrame |
Cache Check | 检查查询缓存 |
Cache Write | 将结果写入缓存 |
耗时
- 规划步骤 (查询规划) :通常很快
- 执行步骤 (SQL 执行) :实际执行工作的环节
- 传输步骤 (结果转为 DataFrame) :将数据转换为 pandas
识别性能瓶颈
性能分析方式
分析单个查询
分析多个查询的性能
方案对比
优化建议
1. 检查 SQL 执行时间
SQL execution 是瓶颈:
- 添加更多过滤条件以减少数据量
- 使用 Parquet 而不是 CSV
- 检查是否使用了合适的索引 (针对数据库来源)
2. 检查 I/O 时间
read_csv 或 read_parquet 是瓶颈:
- 使用 Parquet (列式、已压缩)
- 只读取所需的列
- 如果可能,尽量在源头过滤
3. 检查数据传输
to_df 很慢:
- 结果集可能过大
- 增加更多过滤条件或设置限制
- 使用
head()预览