0

私のアプリケーションでは、さまざまな db Kind がいくつかの種類のプロパティで定義されています (インデックスが作成されているものとインデックスが作成されていないものがあります)

しかし驚いたことに、20 GB で約 950 MB のNullサイズ間隔を見て、

ここに画像の説明を入力

これを最適化する方法はありますか?

: いくつかの種類のプロパティにはデフォルト値がありません。デフォルト値を定義する必要がありますか?

元。

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)

また、一部のプロパティはめったに使用されません。

4

1 に答える 1

0

データストアのプロパティ自体の名前は、ストレージの合計制限にもカウントされると思われるため、構築するときに短くすることができます。

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

参照することはできますが、貴重なバイトを節約してデータストアに.username保存されます。'un'

したがって、おそらく null フィールドには「長い」名前があり、それらのインスタンスが多数あります。

データベースへのリンク: https://developers.google.com/appengine/docs/python/datastore/propertyclass

name

クエリで使用されるプロパティのストレージ名。これは、プロパティに使用される属性名にデフォルト設定されます。モデル クラスにはプロパティ以外の属性 (プロパティには使用できません) があるため、プロパティは name を使用して予約済みの属性名をデータストア内のプロパティ名として使用し、プロパティ属性に別の名前を使用できます。詳細については、許可されていないプロパティ名を参照してください。

于 2012-10-12T12:44:11.083 に答える