2012-02-08 60 views
1

是否在App Engine的開發服務器上忽略「gae.unindexed」擴展?我在一次寫入調用中實現了大約246個實體,創建了大約25個數據存儲放置操作。經過一番研究,我確定這是由索引的自動存儲引起的。你周圍的獲得方式是通過添加以下@Extenstion如下圖所示我的實體(至少對JDO):在開發服務器上忽略gae.unindexed?

@PersistenceCapable(identityType = IdentityType.APPLICATION) 
    public class RealmEntity extends BaseEntity implements Serializable { 

     @Persistent 
     private String name; 

     @Persistent 
     @Extension(vendorName = "datanucleus", key = "gae.unindexed", value = "true") 
     private String population; 

     @Persistent 
     @Extension(vendorName = "datanucleus", key = "gae.unindexed", value = "true") 
     private String region; 

     @Persistent 
     private String slug; 

      ... 

但是在我的實體添加兩個這些註解之後,我仍然得到完全相同的25次投入運營。我希望這些屬性在開發服務器上被忽略,但會在生產環境中工作。任何人都可以確認或否認這一點?或者,也許解釋爲什麼它不工作?

回答

1

您確定您沒有將數據存儲放置與數據存儲寫入混淆嗎?

製作一個屬性沒有索引的減少數據存儲區寫入,但不會影響到你的持久化實體的數據存儲要求的看跌期權的數量。您是否通過AppStats看到投放數量?

+0

是的我昨晚想通了凌晨1點左右,忘了更新我的職務。如果我看在開發數據存儲「寫入行動」列這是正確更新爲我關閉索引。謝謝! – nwallman 2012-02-08 15:29:05

1

我使用物化和開發服務器正確報告我所期望的寫操作的數量。它確實考慮了我標記爲未索引的屬性。

我不知道如何解決您的設置,但我可以反駁你的猜測,說你的變化應該在開發服務器寫入運算次數有所體現。

+0

也許它的東西與我的構建過程即可。我已經使用@Extension和without兩種方法進行了測試,它對由appstats報告的put操作數進行了零改變。 – nwallman 2012-02-08 04:07:39

+0

似乎沒有被建立相關... – nwallman 2012-02-08 05:05:01