当 Looker 探索运行数据库查询时,该查询分三个阶段执行,具体如下:
“探索”查询跟踪器显示“探索”查询经历以下三个阶段的进度。
如果查询需要很长时间来执行,查询跟踪器可以指出查询的哪个阶段导致了性能问题。这有助于确定可能出现性能问题的位置,以及优化工作最有效的位置。
如需启用查询跟踪器,您的 Looker 管理员必须启用探索查询跟踪器实验室功能。启用后,只要“探索”“可视化”面板或数据面板处于打开状态,系统就会在运行“探索”时显示查询跟踪器。
查询初始化阶段
在查询初始化阶段,Looker 会执行在将查询发送到您的数据库之前所需的所有任务。查询初始化阶段包括以下任务:
- 编译 LookML 模型
- 检查是否需要构建任何永久性派生表 (PDT)
- 生成查询 SQL
- 获取数据库连接
运行查询阶段
在运行查询阶段,Looker 会连接并查询您的数据库,以便返回查询结果。此阶段出现的性能问题可能表明外部数据库存在问题,例如 PDT 需要很长时间才能重新构建且可能需要优化,或者外部数据库表可能需要优化。运行查询阶段包括以下任务:
- 在数据库中构建探索查询所需的任何 PDT
- 对数据库运行请求的查询
处理结果阶段
在处理结果阶段,Looker 会处理和呈现查询结果。处理结果阶段包含以下任务:
- 将查询结果流式传输到缓存
- 解决表计算问题
- 设置 Liquid 模板语言的结果格式
- 合并查询
- 计算总计和小计
使用查询跟踪器排查查询性能问题
确定查询的哪个阶段遇到了可能的性能问题后,您可以使用以下资源进一步确定查询性能趋势和异常:
了解查询性能指标文档页面介绍了如何使用系统活动中的查询性能指标探索来查看从 Looker 实例运行的每个查询的详细细分数据。
如需详细了解如何优化运行查询阶段,请参阅优化 Looker 性能文档页面的优化查询性能部分。