> 1. What is the shape of your data?  
> i.e. how big are your entities and what do they contain?

class USER_INVENTORY(db.Model):
    TUSER_ID = db.IntegerProperty()
    ITEM_TYPE = db.StringProperty()
    ITEM_ID = db.IntegerProperty()
    SUFFIX_ID = db.IntegerProperty()
    HAVE_INVENTORY = db.IntegerProperty()
    SELL_INVENTORY = db.IntegerProperty()
    SELL_RESERVED = db.IntegerProperty()
    SELL_AVAILABLE = db.IntegerProperty()
    SELL_PRICE = db.FloatProperty()
    SELL_IDEAL_INVENTORY = db.IntegerProperty()
    BUY_INVENTORY = db.IntegerProperty()
    BUY_RESERVED = db.IntegerProperty()
    BUY_AVAILABLE = db.IntegerProperty()
    BUY_PRICE = db.FloatProperty()
    SHIPPING_VALUE = db.FloatProperty()
    SELL_RANKING = db.IntegerProperty()
    VERSION = db.IntegerProperty()
    CATEGORY_ID = db.IntegerProperty() #
    L0_CATEGORY_ID = db.IntegerProperty()
    L1_CATEGORY_ID = db.IntegerProperty()
    L2_CATEGORY_ID = db.IntegerProperty()
    L3_CATEGORY_ID = db.IntegerProperty()
    L4_CATEGORY_ID = db.IntegerProperty()
    L5_CATEGORY_ID = db.IntegerProperty()
    L6_CATEGORY_ID = db.IntegerProperty()
    L7_CATEGORY_ID = db.IntegerProperty()
    L8_CATEGORY_ID = db.IntegerProperty()
    L9_CATEGORY_ID = db.IntegerProperty()
    INVENTORY_TYPE = db.StringProperty() # G-Global C-Custom A-Auction
P-Pointer
    INVENTORY_NAME = db.StringProperty()
    ITEM_NUMBER = db.StringProperty()
    ITEM_NAME = db.StringProperty()
    SUFFIX_NAME = db.StringProperty()
    ATTR_Set = db.StringProperty()
    ATTR_Game = db.StringProperty()
    ATTR_Rarity = db.StringProperty()
    ATTR_Language = db.StringProperty()
    ATTR_Style = db.StringProperty()
    ATTR_Condition = db.StringProperty()
    ATTR_Edition = db.StringProperty()

This is really the minimum you need to describe an inventory object.
If the number of properties is
the problem can I some how just return a subset of the properties I
need in the query?

> 2. How are you using entity groups?  Is all your data in a single
> entity group (shared ancestor)?
Not at all.

> 3. Also try to experiment with permutations of your index and query to
> try to isolate the bottleneck.  i.e. if you just fetch(500) on "SELECT
> * FROM USER_INVENTORY", does it still take as long?  (and if so, then
> rephrase the question to eliminate the index aspects)

Changing to SELECT * FROM USER_INVENTORY doesn't help
it's the loop where the entities are being fetched. Is there some way
to
not return all the properties? Can I just get the keys that match the
query?

I remember some one in the goolge io videos saying not to sort or
filter
in memory. So I was trying to stick with making indexes do the work.
After looking at this setup I think sorting in memory with memcached
objects might be the only way to get anything done. That's rewriting
a database in python and using bigtable as nothing but a file store.

Also I can't see logs anymore:
HTTP response was too large: 1808121. The limit is: 1048576.
Clear logs please.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to