如果查询的执行方式不符合服务等级协议,或者由于资源耗尽或超时而出错,请参考以下建议:
- 使用以前查询的结果,而不是重新计算。例如,每周总值可以通过在 BigQuery 中对 7 个单日汇总查询求和获得。
- 将查询分解为逻辑子查询(例如将多个联接拆分为多个查询),或以其他方式限制所处理的数据集。您可以在 BigQuery 中将各个作业的结果合并到单个数据集中。这样做可能有助于解决资源耗尽的问题,但可能会降低查询速度。
- 如果您在 BigQuery 中遇到超出资源上限的错误,请尝试使用临时表将您的查询拆分为多个 BigQuery 查询。
- 减少在单个查询中引用的表的数量,否则会占用大量内存,且可能会导致查询失败。
- 重写查询,以减少用户表的联接次数。
- 重写查询,以避免与表本身联接。