google-cloud-platform - 有什么方法可以删除 Google Cloud Spanner 中超过 20k 的突变?
问题描述
我在 Spanner 表中有数百万条记录,我想使用一些查询条件从 Spanner 中删除行。例如:从 id > 2000 的 spanner 表中删除。由于单个操作中的 Spanner 20k 突变限制,我无法在 Spanner UI 中运行此查询。那么有什么方法可以通过在 api 级别代码中进行一些调整来从 spanner 表中删除这条记录,或者我们是否有针对这种类型的用例的解决方法。
解决方案
根据官方文档Deleting rows in a table,我认为你应该考虑Particioned DML执行模型:
如果要删除大量数据,则应使用 Partitioned DML,因为Partitioned DML处理事务限制,并针对处理大规模删除进行了优化
分区 DML 通过对键空间进行分区并在单独的、较小范围的事务中的分区上运行语句,从而对并发事务处理的影响最小,从而实现大规模、数据库范围的操作。
推荐阅读
- javascript - 如何在 reactjs 和 awsamplify 中执行多个查询
- vb.net - 使用“LIKE”解决 Linq 上的性能问题
- java - Selenium 3/TestNG 给出 N/A 测试结果
- python - Python 3.5 中的 F 字符串无效语法
- html - 角度所需属性的布尔变量
- mongodb - 如何在 mongodb 中计算 Sum(数组字段)的乘积?
- javascript - 定位多个具有相同 ID 且包含括号的空输入字段
- google-dfp - Google 已弃用 enableSyncRendering() - 页外 AdUNIT 问题
- linux - 我无法在 Docker 容器中获取 env var
- javascript - JQuery 在 $.get 之后没有设置变量