Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 在谷歌云扳手删除查询中设置限制_Database_Google Cloud Platform_Scalability_Google Cloud Spanner - Fatal编程技术网

Database 在谷歌云扳手删除查询中设置限制

Database 在谷歌云扳手删除查询中设置限制,database,google-cloud-platform,scalability,google-cloud-spanner,Database,Google Cloud Platform,Scalability,Google Cloud Spanner,我的目标是在有条件查询的情况下批量删除recrods: 同时,从其中选择*限制1;存在 使用chunk_size避免在一次调用中删除多行 由于扳手使用Mutation.deletetableName、keySet而不是像delete from这样的DML查询来删除,所以。限度我想知道是否有一个扳手的方式来限制或替代的方式来实现我上面提到的目标 我正在使用scala,因此,Panner java client可以根据非关键标准删除行,您目前需要分两步执行此操作 首先运行查询:从何处选择限制 然后在

我的目标是在有条件查询的情况下批量删除recrods:

同时,从其中选择*限制1;存在

使用chunk_size避免在一次调用中删除多行

由于扳手使用Mutation.deletetableName、keySet而不是像delete from这样的DML查询来删除,所以。限度我想知道是否有一个扳手的方式来限制或替代的方式来实现我上面提到的目标


我正在使用scala,因此,Panner java client可以根据非关键标准删除行,您目前需要分两步执行此操作

首先运行查询:从何处选择限制

然后在第二步中,在Mutation.deletetableName的keySet函数中使用返回的主键


如果要批量删除,请将设置为要批量删除的行数。在一次调用中可以删除的行数没有限制。

我发现可以合并选择。。。限度然后从中删除,就像这样

从PK所在的表中删除从条件=值限制计数的表中选择PK

例如:

delete from actor where id in (select id from actor where gender = "man" limit 99)

请记住,在这种方法中,计数不应大于10000,因为扳手配额为20000,请参阅此处:

听起来是个不错的解决方案!虽然我想知道如果给定大量的return\u-qualification\u-rows\u-count,那么获取PKs、将其转换为密钥集并最终删除它是否有效?谢谢是的,这是目前按非键条件删除行的最有效方法。目前,删除行的唯一方法是通过我们的API,它需要一个键集作为选择器。但是,如果要删除所有行,可以执行以下操作:List mutations=new ArrayList;突变。添加突变。删除表名,键集。全部;dbClient.writemutations;
delete from actor where id in (select id from actor where gender = "man" limit 99)