在我的应用程序中,各种数据库类型被定义为具有类型的属性(一些被索引,一些未被索引)
但是看到, Null 大小间距大约为950 MB(20 GB)后,我感到很惊讶,
有没有办法优化这个?
注意:在几种类型的属性中没有默认值,我是否需要定义默认值?
实施例
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)
此外,一些属性很少使用。
答案 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将保留的属性名称用作数据存储区中的属性名称,并为属性属性使用不同的名称。有关详细信息,请参阅不允许的属性名称。