BigQuery 性能优化:分区、聚类与批量查询策略
1. 地理数据处理与优化
在处理地理数据时,将数据存储为 GEOGRAPHY 类型而非字符串或基本类型,能显著提升查询性能。以下是一个示例,将 bigquery-public-data.utility_us.zipcode_area 表中的 zipcode_geom 列转换为 GEOGRAPHY 类型:
CREATE OR REPLACE TABLE ch07.zipcode_area AS
SELECT
* REPLACE(ST_GeogFromText(zipcode_geom) AS zipcode_geom)
FROM
`bigquery-public-data`.utility_us.zipcode_area
新数据集大小为 131.8 MB,比原表的 116.5 MB 略大,但查询速度大幅提升。例如,以下查询仅需 5.3 秒(提速 10 倍),处理 320.8 MB 数据:
SELECT name, zipcode
FROM ch07.zipcode_area
JOIN `bigquery-public-data`.utility_us.us_cities_area
ON ST_INTERSECTS(zipcode_geom, city_geom)
WHERE name LIKE '%Santa Fe%'
由于存储地理数据为 GEOGRAPHY
超级会员免费看
订阅专栏 解锁全文
833

被折叠的 条评论
为什么被折叠?



