我们注意到,使用标准SQL
执行的查询通常会慢一点,并且会多次使用因子5.以下查询获得点击次数是在1.8s内使用旧版SQL
完成的,但使用标准SQL
需要10秒。查询是:
旧版SQL:
SELECT
max_time,
COUNT(*) AS cnt
FROM (
SELECT
MAX(hits.time) WITHIN RECORD AS max_time,
FROM
[google_analytics.ga_sessions_20160601])
GROUP BY 1
ORDER BY 2 DESC
LIMIT 100;
标准SQL:
SELECT
(SELECT MAX(time) FROM sessions.hits) AS max_time,
COUNT(*) AS cnt
FROM
`google_analytics.ga_sessions_20160601` AS sessions
GROUP BY 1
ORDER BY 2 DESC
LIMIT 100;
我们注意到"计算"在第一阶段通常会高一点,并且在最后阶段会有更多的等待。
像简单SELECT COUNT(*)
这样的其他查询也有类似的差异。
标准SQL
是否始终比遗留SQL
慢?
答案 0 :(得分:2)
感谢您的举报 - 我们会对此进行调查。标准SQL仍然处于测试阶段,并且有一些已知的性能工作需要在最终发布之前完成 - 我们将检查它是否也会影响您的查询。