GAE 大表中的索引以什么速度“爆炸”?
下面从他们的文档中摘录解释说,对于集合值,索引可以以指数方式“爆炸”。
这是否意味着对于具有两个集合值的对象,第一个集合中的每个值子集与第二个集合中的每个子集配对都有一个索引条目?还是每对可能的值都只有一个索引条目?
例子:
实体:
widget:{
mamas_list: ['cookies', 'puppies']
papas_list: ['rain', 'sun']
}
第一个集合中每个值子集的索引条目与第二个集合中的每个子集配对:
cookies rain
cookies puppies rain
cookies puppies rain sun
cookies sun
cookies rain sun
puppies rain
puppies sun
puppies rain sun
每个可能的值对只有一个索引条目:
cookies rain
cookies sun
puppies rain
puppies sun
爆炸指数摘录:
来源:https ://developers.google.com/appengine/docs/python/datastore/indexes#Index_Limits
可以为同一属性具有多个值的实体需要为每个值单独的索引条目;同样,如果可能值的数量很大,则这样的实体可能会超过条目限制。
在具有多个属性的实体的情况下,情况会变得更糟,每个属性都可以取多个值。为了容纳这样的实体,索引必须包含每个可能的属性值组合的条目。引用多个属性(每个属性具有多个值)的自定义索引可以组合地“爆炸”, 对于只有相对少量可能的属性值的实体需要大量条目。(取自: )