gpt4 book ai didi

scylla - 创建一个包含非关键属性的全局二级索引

转载 作者:行者123 更新时间:2023-12-01 13:14:03 27 4
gpt4 key购买 nike

我正在尝试在表 Scylla 集群上创建 GSI。根据文档,我可以创建 CREATE INDEX ON ks.users (email);,它将在它创建的物化 View 中包含此字段和主键。有没有一种方法可以在创建此 GSI 时将其他非关键属性投影到 MV?

感谢您的帮助。

最佳答案

由于物化 View 的限制,这种投影是不可能的 - 最多只能将一个非键列合并到物化 View 的键中。 Scylla 的 GSI 创建一个底层物化 View 并将索引列放在键中,因此只能使用一个非键列。

我能想到的唯一解决方法是:

  • 通过创建将两个属性的组合值存储为 blob 的单个列来更改基表架构 - 然后可以在该 blob 上创建索引;
  • 更改基表架构,使其中一列成为主键的一部分。

此外,目前在 Scylla 的索引中自定义投影的唯一选项是本地索引,其中可以确保基本分区键也用作底层 View 中的分区键:CREATE INDEX ON ks.users ( (用户 ID)、电子邮件)。有一天实现通用索引会很好,这将允许以更灵活的方式自定义底层物化 View - 总是欢迎贡献 :) 尽管如此,物化 View 的约束将适用,因此投影更多非键列用于索引只有在物化 View 允许相同的情况下才能被允许。

关于scylla - 创建一个包含非关键属性的全局二级索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57386243/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com