Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google bigquery BigQuery查询/分析定价是如何工作的?_Google Bigquery - Fatal编程技术网

Google bigquery BigQuery查询/分析定价是如何工作的?

Google bigquery BigQuery查询/分析定价是如何工作的?,google-bigquery,Google Bigquery,我有一个大约3400万行的桌子(几个月后它将增长到~500米)。我知道存储定价,但我真的不明白查询/分析定价是如何工作的 例如,如果我运行一个简单的select查询,从大约20条记录中返回3列,它会说644MB已处理。即使我删除where子句中的列或条件,它仍然显示我正在处理6xxMB的数据 有趣的是,若我从表中运行select count(*),它会报告处理了0个字节 BigQuery的一个用例是创建仪表板和特别报告。但是,如果针对表进行的每两次查询要花费0.03美元,我看不出这有多实际 我错

我有一个大约3400万行的桌子(几个月后它将增长到~500米)。我知道存储定价,但我真的不明白查询/分析定价是如何工作的

例如,如果我运行一个简单的select查询,从大约20条记录中返回3列,它会说644MB已处理。即使我删除
where
子句中的列或条件,它仍然显示我正在处理6xxMB的数据

有趣的是,若我从表中运行select count(*),它会报告处理了0个字节

BigQuery的一个用例是创建仪表板和特别报告。但是,如果针对表进行的每两次查询要花费0.03美元,我看不出这有多实际

我错过什么了吗?是否有减少简单数据访问所处理数据量的策略?

请参阅。基本上,您需要为访问的列的完整大小付费,因为每个BigQuery查询都会读取提到的每一列。比如说,

select foo, bar from table1 where foo=1
将向您收取访问表1中全部大小的foo和bar列的费用

COUNT(*)读取表元数据以获取计数,因此不需要花费任何费用


降低成本的一种方法是将数据拆分为多个表。您可以通过指示逗号分隔的表(如
从表1、表2中选择foo)在单个查询中组合表。您还可以缓存结果(BigQuery本身不进行任何缓存)。

BigQuery现在默认进行缓存,这在定价方面非常有用。问得好。当我决定拥有10k声誉时,我会重新打开它