How many rows entirely?

On Mar 21, 2012, at 6:39 AM, Ron X wrote:

> >>Is it the first fetch for the primary keys that is failing?
> 
> ERROR (ERXEOAccessUtilities.java:1213) - "Artist"@457777400 expression took 
> 5289 ms: SELECT t0._rowid FROM artist t0 WHERE........
>  java.lang.RuntimeException: Statement running too long
>     at 
> er.extensions.eof.ERXEOAccessUtilities.logExpression(ERXEOAccessUtilities.java:1213)
> .....
> yes, i think so.
> 
> 21 марта 2012 г. 12:23 пользователь Johann Werner <[email protected]> написал:
> What means big? 1.000, 1.000.000, … ;) Is it the first fetch for the primary 
> keys that is failing?
> A limit is used on a fetch spec if you set fetchSpec.setFetchLimit(int) but 
> then it will probably not work with ERXFetchSpecificationBatchIterator. You 
> should look at the logs and step through ERXFetchSpecificationBatchIterator 
> with the debugger to get the part that is causing you trouble.
> 
> 
> Am 21.03.2012 um 09:48 schrieb Ron X:
> 
>> Table is big, has indexes and in a good state.
>> How can i set to the framework to use LIMIT at all?
>> 
>> 21 марта 2012 г. 10:47 пользователь Johann Werner <[email protected]> написал:
>> Hi Ron,
>> 
>> looking at the code of ERXFetchSpecificationBatchIterator the first time you 
>> call batchWithIndex all primary keys are fetched so that when you call 
>> either batchWitchIndex, batchWithRange or nextBatch the select statement 
>> that is sent to the DB will qualify the objects by pk IN (pk1, pk2, ...) 
>> that's why you don't see a LIMIT statement.
>> How big is you Artist table? Which fetch is running too long, the one 
>> fetching the pks or that getting the real objects? Is your DB in a good 
>> state, do you have an index on your pk column?
>> 
>> jw
>> 
>> 
>> Am 21.03.2012 um 08:29 schrieb Ron X:
>> 
>> > hi everybody!
>> > i have real trouble with ERXFetchSpecificationBatchIterator
>> >
>> >             EOQualifier qualifier = ERXQ.and(clazz.availabilityQuialifier, 
>> > qualifierForLetter(letter));
>> >             EOFetchSpecification fs = new 
>> > EOFetchSpecification(Artist.ENTITY_NAME, qualifier, Artist.NAME.ascs());
>> >             if (pagination != null)    {
>> >                 ERXFetchSpecificationBatchIterator batchSpec = new 
>> > ERXFetchSpecificationBatchIterator(fs);
>> >                 batchSpec.setBatchSize(10);
>> >                 NSArray<Artist> array = batchSpec.batchWithIndex(new 
>> > Integer(pagination));
>> > ...
>> > and than - i have statement running too long exception!
>> > i see that this batch DO NOT do LIMIT at the end of query!
>> > so i have 10 elements in array, but the request to DB (MySQL) is 
>> > incredible!
>> >
>> > how can i fix this - to set the real LIMIT at the end of query?
>> 
>> 
>> 
> 
> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      ([email protected])
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/kelleherk%40gmail.com
> 
> This email sent to [email protected]

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to