代码之家  ›  专栏  ›  技术社区  ›  Joshua Fox

如何在Couchbase中支持表?

  •  1
  • Joshua Fox  · 技术社区  · 6 年前

    我想要表式命名空间的性能优势。如果一种类型有1000000行,另一种类型有10行,我希望查询引擎不必通过1000010行来查找这10行中的一行。

    • 有水桶,但最多只有十个。所以,这些不是真正的餐桌。
    • type kind 每项中的属性 JsonDocument
    • 您可以在每个键前面加上类似“Table”的名称。 "User:111" 111 .

    如何在Couchbase中实现表/种类的好处?

    0 回复  |  直到 6 年前
        1
  •  2
  •   deniswsrosa    6 年前

    目前,正确的方法是添加一个表示文档类型的属性,然后使用其中的“type”属性创建索引。所以查询将直接扫描索引,而不是全表扫描。起初这听起来可能不常见,但索引是CB中最强大的功能之一。

    您可以查看查询是否使用在web控制台的“计划”选项卡中创建的索引: https://blog.couchbase.com/couchbase-5-5-enhanced-query-plan-visualization/

    https://blog.couchbase.com/couchbase-spring-boot-spring-data/

    为这个用例创建多个bucket并不是一个好的策略,因为每当需要进行join时,都需要一些额外的工作。

    在查询中可以通过meta()访问文档的一些元数据(例如:meta().id,meta().cas),但类型本身必须保持为文档的顶级属性。

    您可以在每个键前面加上一个类似“表”的名称用户:111“,而不是111”。->当您需要筛选应通过跨数据中心复制的wich文档时,这很有用 https://blog.couchbase.com/deep-dive-cross-data-center-replication-xdcr/