我正在開發一個GAE Python項目,其中包含物品和項目上的交易。Google應用程序引擎項目/交易數據模型
首先,我們嘗試使用具有引用屬性的項類型和事務類型,但它使查詢複雜化很多。
因此,我們切換到一個多功能於一身的版本,交易數據直接存儲在項目中,導致很多屬性未被使用,因爲並非所有項目都被交易所關注。
我期望它能加快應用程序的速度,但這是做到這一點的最佳方式嗎?
知道了:
- 我們預計有大量的交易,並有更多的項目。
- 我們需要檢查交易狀態(實際存儲在物品的狀態)。
- 每個項目只有一個可能的交易,但有許多不同類型的交易。
有沒有更好的解決方案?
編輯:
的問題是,我使用的交易商品主要是查詢,但僅屬性2 where子句一次最大的,也是我經常更新的交易。
其實我有一些事情是這樣的:
類MyItem(db.Model):
owner = db.ReferenceProperty(MyUser)
descr = db.StringProperty()
status = db.IntegerProperty() # contains item status/transaction status
tx_actor = db.emailProperty()
tx_token = db.StringProperty()
latest_tx_date = db.DateTimeProperty()
謝謝更新了問題 – maazza 2012-04-26 08:44:48
您是否在查詢所有這些屬性?大多數人看起來很好。您索引的唯一額外內容是所有者和說明,這不是很大的開銷。我也不知道你在哪裏得到「最多隻有2條子句」。 – dragonx 2012-04-26 14:37:50
是的,除了描述,對於where子句,我主要做 東西像所有者= X和狀態= Y 和tx_actor = A和狀態= B – maazza 2012-04-26 15:52:37