我有一个按特定顺序插入数据的表。我保证通过使用10-of-10分区装饰器,查询按照插入数据的顺序在表的前10%运行,10分区装饰器将在接下来的10个查询中查询插入顺序中的数据百分比等?
分区装饰器上的count(*)是否会导致表扫描(因此成本非零金额)或仅使用元数据(因此是免费的)?
答案 0 :(得分:1)
在BigQuery中,插入并不能保证您的订单,所以不要混淆。插入是在多个摄取节点上并行运行的异步作业,因此没有定义原子顺序。此外,不仅在BigQuery中,而且其他数据库引擎也不能确保按插入顺序检索数据,因此这是您思考的一个缺陷。如果您需要原子序,那么请查看其他dbs,例如Redis,它们具有针对这类问题的数据类型。
SELECT title FROM [publicdata:samples.wikipedia@0]
@0
表示类似于"显示7天前表格的显示方式" (7天是最早的可用快照。所以它只是表格的快照,而不是与数据顺序相关的东西。检索数据时,您无法保证按插入顺序返回数据。