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中。这样做的好处是,它为您提供了原子(“全部或全无”)语义