What if you use psycopg2? Massimo
On Tuesday, 17 December 2013 08:25:01 UTC-6, Jayadevan M wrote: > > 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 > def 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.

