这个错误代码通常与查询大小有关,即查询太大无法被处理。解决此问题的方法是,加强查询的优化,减小查询的范围、削减查询的结果数量。下面是一些示例代码,可供参考:
SELECT *
FROM mydataset.table1
AS t1
INNER JOIN mydataset.table2
AS t2
ON t1.id = t2.id
WHERE t1.date >= '2021-01-01'
改为:
SELECT t1.*
FROM mydataset.table1
AS t1
WHERE t1.date >= '2021-01-01' AND t1.id IN (
SELECT id
FROM mydataset.table2
)
SELECT COUNT(*) as cnt
FROM mydataset.table1
WHERE date BETWEEN '2010-01-01' AND '2020-12-31'
改为:
SELECT COUNT(*) as cnt
FROM (
SELECT DISTINCT id
FROM mydataset.table1
WHERE date BETWEEN '2010-01-01' AND '2020-12-31'
)
使用这些技巧可以有效减小查询的规模,降低发生内部错误的概率。