问题说明-
我们计划在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?
关于数据大小的计算,请参考此文档:
STRING(数据类型等于)2字节+ UTF-8编码字符串长度
所以回答你的问题:是的,字符串越长,查询需要处理的字节越多,并且速度越慢。因此,选择较短的字符串长度可能会提高查询性能。