首页 > 解决方案 > BigQuery 性能对列数据长度的影响

问题描述

问题陈述 -

我们计划在 BigQuery 列中存储长度为 64 的十六进制字符串数据。与存储较小长度的字符串时相比,在这些列(具有大字符串长度)上使用过滤/连接操作运行查询时,它会影响 BigQuery 查询性能吗?

例子 -

假设有一个 BigQuery 表 -abc.HACKERNEWS.news

列 -

id, time, time_ts, encrypted_data, news, status.

已知 -encrypted_data列具有长度为 32 的字符串。

询问 - SELECT time FROM abc.HackerNews.news where encrypted_data = 'abcdefghijklmnopqrstuvwxyz123deabcdefghijklmnopqrstuvwxyzabcde' LIMIT 1000

更改 encrypted_data 长度对性能有何影响?如果存储在 encrypted_data 列中的字符串长度较短,比如 5,查询会更好地执行吗?

标签: google-bigqueryspring-cloud-gcp-bigquery

解决方案


有关数据大小计算,请参阅此处的此文档:

STRING(数据类型等于)2 个字节 + UTF-8 编码的字符串大小

所以回答你的问题:是的,字符串越长,查询需要处理的字节越多,速度就越慢。因此,选择较短的字符串长度可能会提高查询性能。


推荐阅读