thanks john
   any thought for like operator of sql.how can we implement like operator
of sql in GAE

On Fri, Jun 11, 2010 at 8:49 PM, John Patterson <[email protected]>wrote:

> The best you could probably do is load into memory a structure that keeps
> the employee type for every employee.  When the user types some letters of a
> name to search for you can perform a keys-only query and lookup the employee
> type in this structure (rather than load the entity)
>
> You would need 2 bits per employee (for 4 types) so even a million
> employees would only require 250KB of memory (an array of 30K longs) which
> shouldn't take too long to read from memcache when an instance starts.
>
> You would then need to iterate over every result and count which type the
> employee is.  To optimise this you might cache the counts in memcache of 1
> and 2 letter searches.  So then you would only need to count on the fly
> three letter searches i.e. all employees with names starting with "smi"
>
> On 11 Jun 2010, at 20:53, RAVINDER MAAN wrote:
>
> number of employee entities is going to be high .So i guess that
> possibility of getting more then 1000 employees for any search is quite
> high.
>
>
> On Fri, Jun 11, 2010 at 6:56 PM, John Patterson <[email protected]>wrote:
>
>> A lot depends on how many Employee entities you have.
>>
>> You could do a sub search for each of the 4 employee types and use COUNT
>> to get the results.  This will only work up to 1000 employees per employee
>> type.
>>
>> Twig can execute queries in parallel so this would take no more time than
>> running your original query.
>>
>> On 11 Jun 2010, at 19:39, RAVINDER MAAN wrote:
>>
>> Thanks for your reply Ravi
>>    let me explain the entire scenario.I have an employee entity .User can
>> search employees by giving part of name .There are four type of employees .I
>> have to show number of employees matching user search criteria for every
>> type of employee under different tabs.Actual results are to be displayed
>> only if user open that tab.
>> In SQL term we could write following query
>>
>> Select count(*) from employee where name like '%<searchname>%' and type
>> ='A' ;
>>
>> My first problem is that i dint find any equivalent of like operator.Is
>> there any way to do it?
>> Secondly we can not keep record count for each search combination.what
>> will you suggest for this case?
>> Thanks once again.
>>
>>
>>
>>
>> On Fri, Jun 11, 2010 at 4:23 PM, Ravi <[email protected]> wrote:
>>
>>> Google app engine designed to work for any numbers of records with in
>>> minimum time, so SQL features like counting the records whenever
>>> needed is not supported.
>>> So you need to take care of such counter by urself at the time of
>>> adding or deleting the records in a table/entity.
>>>
>>> If you just want total number of records and dont care if counting
>>> happened in last 24 hours then look into low level api for datastore
>>> statistics, GAE refreshes total count every 24 hours and you can read
>>> the total count from there.
>>>
>>> And if you want count of records with some where clause, then you need
>>> to maintain it.
>>>
>>> like if u want like this
>>> select count(0) from tb where tb.propA='someValue'
>>>
>>> then you may need to create a new entity say counterForTb, and have
>>> few fields entityName and count and where clause columns
>>> and whenevr you add a new record in tb then increase the count of that
>>> record in counter table and on delete decrease it.
>>>
>>>
>>>
>>>
>>> Something for google guys
>>> Just realized that all columns are indexed unless we specify to not to
>>> index, and there must be some index meta data/statistics saved
>>> somewhere in google data stores about index(like total records
>>> matching to this index). And if that stats can be accessible through
>>> some APIs then we may be able to get total count just by reading data
>>> from indexes stats.
>>> Is this something feasible?
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Jun 11, 11:39 am, RAVINDER MAAN <[email protected]> wrote:
>>> > How can we get records count for a query in JDO.
>>> > In sql we have select count(*) from <table_name>
>>> > i want to get number of records returned by a query. what is the
>>> > efficient way to do that.One option is to use size() function .I think
>>> > it is not best way.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Google App Engine for Java" group.
>>> To post to this group, send email to
>>> [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected]<google-appengine-java%[email protected]>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/google-appengine-java?hl=en.
>>>
>>>
>>
>>
>> --
>> Regards,
>> Ravinder Singh Maan
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Google App Engine for Java" group.
>> To post to this group, send email to
>> [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/google-appengine-java?hl=en.
>>
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Google App Engine for Java" group.
>> To post to this group, send email to
>> [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<google-appengine-java%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/google-appengine-java?hl=en.
>>
>
>
>
> --
> Regards,
> Ravinder Singh Maan
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine for Java" group.
> To post to this group, send email to
> [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/google-appengine-java?hl=en.
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine for Java" group.
> To post to this group, send email to
> [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-appengine-java%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine-java?hl=en.
>



-- 
Regards,
Ravinder Singh Maan

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to