No. The number of fetches go up when the number of records go up. It is a
very simple test case. First I inserted 100 records.
insert into myt (nm, title) select generate_series(1,100), 'A';
There was just one fetch. Then I inserted many more
insert into myt (nm, title) select generate_series(100,100000), 'A';
If I see the log, it is like this . A parse, a bind, an execute, then all
'execute fetch'es.
2013-12-17 19:07:57 IST [19893]: [23-1] user=myserrhpa,db=everest1 LOG:
duration: 0.577 ms parse <unnamed>: select * from myt
2013-12-17 19:07:57 IST [19893]: [24-1] user=myserrhpa,db=everest1 LOG:
duration: 0.420 ms bind <unnamed>/pg8000_portal_10: select * from myt
2013-12-17 19:07:57 IST [19893]: [25-1] user=myserrhpa,db=everest1 LOG:
duration: 0.148 ms execute <unnamed>/pg8000_portal_10: select * from myt
2013-12-17 19:07:57 IST [19893]: [26-1] user=myserrhpa,db=everest1 LOG:
duration: 0.151 ms execute fetch from <unnamed>/pg8000_portal_10: select *
from myt
2013-12-17 19:07:58 IST [19893]: [27-1] user=myserrhpa,db=everest1 LOG:
duration: 0.116 ms execute fetch from <unnamed>/pg8000_portal_10: select *
from myt
My test.py has just this
ef querytest():
sql="select * from myt "
rows=db.executesql(sql)
return dict(rows=rows)
On Tuesday, December 17, 2013 7:46:45 PM UTC+5:30, Massimo Di Pierro wrote:
>
> You may have hidden recursive selects, for example in a represent function.
>
> On Tuesday, 17 December 2013 07:41:47 UTC-6, Jayadevan M wrote:
>>
>> When I turned on logging for PostgreSQL during testing, I see that the
>> number of fetches goes up dramatically for tables with a large number of
>> rows. For example -
>> 2013-12-17 19:08:03 IST [19893]: [791-1] user=myserrhpa,db=everest1 LOG:
>> duration: 0.093 ms execute fetch from <unnamed>/pg8000_portal_10: select *
>> from myt
>> 2013-12-17 19:08:03 IST [19893]: [792-1] user=myserrhpa,db=everest1 LOG:
>> duration: 0.137 ms execute fetch from <unnamed>/pg8000_portal_10: select *
>> from myt
>> 2013-12-17 19:08:03 IST [19893]: [793-1] user=myserrhpa,db=everest1 LOG:
>> duration: 0.093 ms execute fetch from <unnamed>/pg8000_portal_10: select *
>> from myt
>> 2013-12-17 19:08:03 IST [19893]: [794-1] user=myserrhpa,db=everest1 LOG:
>> duration: 0.096 ms execute fetch from <unnamed>/pg8000_portal_10: select *
>> from myt
>> 2013-12-17 19:08:03 IST [19893]: [795-1] user=myserrhpa,db=everest1 LOG:
>> duration: 0.063 ms execute fetch from <unnamed>/pg8000_portal_10: select *
>> from myt
>> 2013-12-17 19:08:03 IST [19893]: [796-1] user=myserrhpa,db=everest1 LOG:
>> duration: 0.091 ms execute fetch from <unnamed>/pg8000_portal_10: select *
>> from myt
>> 2013-12-17 19:08:03 IST [19893]: [797-1] user=myserrhpa,db=everest1 LOG:
>> duration: 0.064 ms execute fetch from <unnamed>/pg8000_portal_10: select *
>> from myt
>> 2013-12-17 19:08:03 IST [19893]: [798-1] user=myserrhpa,db=everest1 LOG:
>> duration: 0.094 ms execute fetch from <unnamed>/pg8000_portal_10: select *
>> from myt
>> 2013-12-17 19:08:03 IST [19893]: [799-1] user=myserrhpa,db=everest1 LOG:
>> duration: 0.068 ms execute fetch from <unnamed>/pg8000_portal_10: select *
>> from myt
>> Is this normal? How can we control the number of fetches - some parameter
>> to set like array_size?
>>
>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.