如何将新的存储列添加到索引

How to add new STORING column to index

如何更改二级索引?例如:我想在 STORING 规范中添加一个新列。

如果要更新索引以在其 STORING 子句中存储新列,需要几个步骤。 Cloud Spanner 不支持直接更新索引架构,因此您需要创建一个新索引并删除旧索引。例如,如果您有一个旧索引 "myindex",您正在尝试更新:

  1. 创建一个新索引,"myindex2"(或您想要的任何名称),具有您想要的 STORING 规范。
  2. 请注意,回填新索引可能需要数小时 或天。您将知道何时创建索引 long-运行 架构更改操作已完成。
  3. 更新您的应用程序代码以开始使用 myindex2。
  4. 删除旧索引。

请注意,如果您希望新索引与旧索引同名,您可以重复上述相同步骤重新创建 myindex。但是,仍然会有一个临时时期,您不会有一个名为 "myindex" 的索引(这可能会持续数小时到数天),因此您的应用程序代码需要对此具有弹性。通常最简单的方法是更新您的应用程序代码以指向新的索引名称。