Google cloud platform Cloud Panner是否支持TRUNCATE TABLE命令?

Google cloud platform Cloud Panner是否支持TRUNCATE TABLE命令?,google-cloud-platform,google-cloud-spanner,Google Cloud Platform,Google Cloud Spanner,我想清除表中的所有值。它有几个二级索引。我试图通过提交带有Mutation.delete(“MyTable”,KeySet.all())的事务来实现这一点(请参阅文档)。但我有一个错误: 错误:无效的\u参数:io.grpc.StatusRuntimeException:无效的\u参数:事务包含太多的突变 如何有效地清除表内容?Cloud Spaner不支持这样的truncate命令。如果您的表没有辅助索引,则可以按照上面的指定在Delete中指定KeySet.all(),但如果您的表具有辅助索

我想清除表中的所有值。它有几个二级索引。我试图通过提交带有
Mutation.delete(“MyTable”,KeySet.all())
的事务来实现这一点(请参阅文档)。但我有一个错误:

错误:无效的\u参数:io.grpc.StatusRuntimeException:无效的\u参数:事务包含太多的突变


如何有效地清除表内容?

Cloud Spaner不支持这样的truncate命令。如果您的表没有辅助索引,则可以按照上面的指定在Delete中指定KeySet.all(),但如果您的表具有辅助索引且较大,则此操作可能会失败

执行所需操作的最佳方法是发出包含以下语句的RPC:

1) 对于MyTable上的每个二级索引,包括相应的
DROP index
语句

2)
DROP TABLE MyTable

3) 如有必要,分别通过
create table
create INDEX
语句重新创建表和索引

请注意,允许并鼓励您将所有这些语句包含在一个
updatedl
RPC
中。这样做的好处是,它为您提供了原子(“全部或全无”)语义