NULL属性类型获取更多大小:Google App Engine数据存储区

时间:2012-10-12 10:45:11

标签: google-app-engine google-cloud-datastore

在我的应用程序中,各种数据库类型被定义为具有类型的属性(一些被索引,一些未被索引)

但是看到, Null 大小间距大约为950 MB(20 GB)后,我感到很惊讶,

enter image description here

有没有办法优化这个?

注意:在几种类型的属性中没有默认值,我是否需要定义默认值?

实施例

class terminals(db.Model):
   location_code = db.StringProperty()
   terminal_code = db.StringProperty(default='')
   pass_code = db.StringProperty(indexed=False)
   print_format = db.StringProperty(indexed=False)
   start_invoice_no = db.IntegerProperty(indexed=False, default=1)
   next_invoice_no = db.IntegerProperty(indexed=False)
   use_jzebra = db.BooleanProperty(default=False, indexed=False)
   last_doc_details = db.TextProperty(default='{}')
   last_modified_on = db.DateTimeProperty(auto_now=True)

此外,一些属性很少使用。

1 个答案:

答案 0 :(得分:0)

您可以在构建数据存储区属性时缩短它们的名称,因为我相信它们也会计入总存储限制。

username = ndb.StringProperty(name='un')
username = db.StringProperty(name='un')

您可以参考.username,但它会在数据存储区中存储为'un',从而节省了宝贵的字节数。

所以也许你的空字段有'长'名称,并且它们有很多实例。

db:https://developers.google.com/appengine/docs/python/datastore/propertyclass

的链接
name
  

查询中使用的属性的存储名称。这默认为用于属性的属性名称。由于模型类具有属性以外的属性(不能用于属性),因此属性可以使用name将保留的属性名称用作数据存储区中的属性名称,并为属性属性使用不同的名称。有关详细信息,请参阅不允许的属性名称。