代码之家  ›  专栏  ›  技术社区  ›  Rahul

应用程序引擎-数据存储-索引

  •  0
  • Rahul  · 技术社区  · 14 年前

    这是一个通用的应用引擎数据存储索引问题。数据存储区自动生成可用于简单单属性查询(不涉及组合键的查询)的索引。

    生成此索引的开销是否因实体属性的基础数据类型而异?

    基本上我的问题归结为:

    def Person(db.Model):
      name = db.StringProperty()
      rollnumber = db.IntegerProperty()
    

    是与属性相关的索引开销 卷数 比…小 名称 ?

    1 回复  |  直到 11 年前
        1
  •  4
  •   Nick Johnson    14 年前

    索引值所需的空间包括:

    • 值本身的大小,
    • 如果它的长度是可变的,就像一个字符串一样,可以是1到3个字节来存储值的长度。
    • 尺寸 名称 (例如,“rollnumber”),再加上几个字节来存储长度
    • 实体键的大小
    • 一些额外的开销字节

    这里唯一令人惊讶的事情应该是,名称与每个索引属性一起存储。这是因为数据存储中没有静态定义的列名称(没有模式),所以有必要将其与每个索引值一起存储。