【发布时间】:2018-01-24 07:13:30
【问题描述】:
BigQuery 团队再次出击:这个问题不再相关,因为现在使用 LOWER() 的结果与使用 REGEX() 的结果一样快。
使用 BigQuery 处理大约 5GB 的数据应该非常快。例如,以下查询在 18 秒内执行不区分大小写的搜索:
#standardSQL
SELECT COUNT(*) c
FROM `bigquery-public-data.hacker_news.full`
WHERE
LOWER(text) LIKE '%bigquery%' # 18s
通常 BigQuery 比这更快,但真正的问题是添加新的搜索词会使这个查询变得相当慢(几乎一分钟,有 3 个搜索词):
#standardSQL
SELECT COUNT(*) c
FROM `bigquery-public-data.hacker_news.full`
WHERE
LOWER(text) LIKE '%bigquery%' OR LOWER(text) LIKE '%big query%' # 34s
#standardSQL
SELECT COUNT(*) c
FROM `bigquery-public-data.hacker_news.full`
WHERE
LOWER(text) LIKE '%bigquery%' OR LOWER(text) LIKE '%big query%'
OR LOWER(text) LIKE '%google cloud%' # 52s
如何提高查询性能?
【问题讨论】:
标签: performance google-bigquery