Hi,
I have 2-3 properties(Unowned Relationship keys) in my class which i will be 
using in where clause to filter records.

Class PropertyAd{
....
Key locationKey; //This will point for which location this ad has been 
created
Key categoryKey;//This will point for which category this ad has been 
created.
List<Key> featuresKey;//It will tell what fatures this property have e.g. 
Fully Furnished,With Parking etc, as i dont know what kind of feature it can 
have in future so i am creating all the features in seprate table/class and 
refernecing from here. Say i could have max 50 features.

}

Now i can query like this
1) Select PropertyAd where locationKey=SomeKey     
2) Select PropertyAd where locationKey=SomeKey and categoryKey=SomeOtherkey
3) Select PropertyAd where locationKey=SomeKey  and categoryKey=SomeOtherkey 
and featureKey = someFeatureKey1 and featureKey = someFeatureKey2

Now for query 1 i don't need to create explicit index

for query 2 , 1 index will be created 
e.g. if LocationKey is Location(2) and CategoryKey is Category(3)
then 1 index entry will be created Location(2) +Category(3) (or may be 
Category(3) + Location(2) too but not sure)


for query 3 i am not sure how index will be created
if for one propertyAd i have LocationKey is Location(2) and CategoryKey is 
Category(3) featureKey  Feature(10) and featureKey(12)
then will it indexes as all combination of all four keys which will be 
4*3*2*1=24 indexes(is it true?)



Now i am thinking keys take care of most of the things then why not i put my 
all unowned foreign reference in one List as 

Class PropertyAd{
....
List<Key> allKey;//It will have Location key, CategoryKey, feature key or 
any other key in future as per new requirment

}

and my queries will be like this
1) Select PropertyAd where allKey=SomeKey     
2) Select PropertyAd where allKey=SomeKey and allKey=SomeOtherkey
3) Select PropertyAd where allKey=SomeKey  andallKey =SomeOtherkey and 
allKey= someFeatureKey1 and allKey= someFeatureKey2

So if for one property ad i have four keys in this list will it create 
4*3*2*1 indexes or it will just create 4 indexes.

I am not sure how the indexes will be created and how much for it looks like 
second solution will be much better.

All comments/suggestions are welcome

Thanks in advance
Ravi.

-- 
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