C# 应用程序中的缓存和非缓存 Google BigQuery 哪个最好

Which one is the best either Cached nor Non-Cached Google BigQuery in C# application

我开发了 C# 应用程序,它使用 .Net 客户端库从 Google 大查询中读取数据。

查询:

Select SUM(Salary), Count(Employee_ID) From Employee_Details

如果我在作业配置中使用非缓存查询 (JobConfig.UseCacheQuery=false),则能够在 ~6 秒内获得结果。

如果我在作业配置中使用缓存查询 (JobConfig.UseCacheQuery=true),则能够在 ~2 秒内获得相同的结果。

使用 Google BigQuery 的最佳方式是缓存还是非缓存。 (缓存查询执行时间比非缓存一次快)。

缓存查询中是否存在任何回退?请澄清这一点。

如果您 运行 BigQuery 查询连续两次,查询缓存将允许第二次查询调用简单地 return 与第一个查询已经计算的结果相同,实际上 运行再次查询。您可以更快地获得结果,而且无需支付任何费用。

查询缓存是一种简单的方法,可以防止客户通过重复相同的查询而超支,这种情况有时会发生在自动化环境中。

默认情况下查询缓存处于启用状态,我建议将其保持启用状态,除非您有特殊原因禁用它。您可能禁用缓存的原因之一是,如果您正在进行性能测试并且想要实际 运行 查询以查看需要多长时间。但这种情况很少见。

在此处阅读更多内容:

https://cloud.google.com/bigquery/querying-data#querycaching