Spanner 客户端是否支持批量插入?

Does the Spanner Client support bulk inserts?

Google 的 Spanner 支持 SQL“批量”插入,例如来自 doco

插入歌手(SingerId、FirstName、LastName) 值(1,'Marc','Richards'), (2, 'Catalina', 'Smith'), (3, 'Alice', 'Trentor');

但是我在 Go Client 中找不到对此的任何支持。 Go Client "Statement" 类型支持单行插入,我已经使用 BatchUpdate() 函数执行了一批单行插入,但我找不到任何对批量插入的支持。

Spanner 客户端是否支持批量插入?

是的,您可以通过多种方式做到这一点:

  1. 自己提到的那个:使用BatchUpdate方法执行一组单独的INSERT语句。一个example can be found here.
  2. 您可以通过使用插入多行的 SQL 字符串调用 Update 方法来执行插入多行的 INSERT 语句。一个example can be found here.
  3. 插入大量行的最有效的方法是使用突变而不是 DML。使用 Apply 方法插入(插入)突变集合。一个example can be found here