I think found the problem.
My problem is with powerTable plugin.
If i return rows only the show results is fast, but i try to use powertable the
result is slow:
powerTable = plugins.powerTable
powerTable.datasource = reg
powerTable.dtfeatures['bPaginate'] = True
powerTable.dtfeatures['bAutoWidth'] = True
powerTable.dtfeatures['bSort'] = False #Se muestra ordenado por Query
powerTable.dtfeatures['iDisplayLength'] = 50
powerTable.virtualfields = Virtual()
powerTable.headers='labels'
powerTable.showkeycolumn = False
powerTable.dtfeatures['bJQueryUI'] = request.vars.get('jqueryui',True)
powerTable.keycolumn = 'rutas.nombre'
powerTable.columns = ['rutas.nombre','ratecltes.rate','virtual.edit']
powerTable.hiddecolumns=['rutas.nombre']
table=powerTable.create()
return dict(table=table)
Any idea?
Regards
--- On Tue, 1/22/13, FERNANDO VILLARROEL <[email protected]> wrote:
> From: FERNANDO VILLARROEL <[email protected]>
> Subject: [web2py] Help Query speed
> To: [email protected]
> Date: Tuesday, January 22, 2013, 6:54 PM
> Dear.
>
> I have the follow problem.
>
> If i run the follows query in PgAdminIII is very fast:
>
> select rutas.id,rutas.nombre,ratecltes.rate from
> ratecltes
> join rutas on rutas.id = ratecltes.id_rutas
> where ratecltes.id_clte=26
> order by rutas.nombre
>
> But when i run the query on Web2py is very slow
>
>
> query=(db.ratecltes.id_clte==session.cliente_id)
> reg=db(query).select(db.rutas.id,db.rutas.nombre,db.ratecltes.rate,
>
> left=db.rutas.on(db.rutas.id==db.ratecltes.id_rutas),
>
> orderby=db.rutas.nombre)
>
> The query show 2287 tuples.
>
> I have PostgreSQL 8.4
>
> The explain analyse
>
>
>
> QUERY PLAN
>
>
>
>
> -------------------------------------------------------------------------------------------------------------------------------
> Unique (cost=1264.00..1286.87 rows=2287 width=30)
> (actual time=135.604..145.228 rows=2251 loops=1)
> -> Sort
> (cost=1264.00..1269.71 rows=2287 width=30) (actual
> time=135.592..138.590 rows=2251 loops=1)
> Sort Key:
> rutas.nombre, rutas.id, ratecltes.rate
> Sort Method:
> quicksort Memory: 221kB
> -> Hash
> Join (cost=69.65..1136.39 rows=2287 width=30) (actual
> time=17.528..34.604 rows=2251 loops=1)
>
> Hash Cond: (ratecltes.id_rutas =
> rutas.id)
>
> -> Seq Scan on ratecltes
> (cost=0.00..1032.44 rows=2287 width=8) (actual
> time=9.888..19.838 rows=2251 loops=1)
>
> Filter: (id_clte = 26)
>
> -> Hash (cost=41.51..41.51
> rows=2251 width=26) (actual time=7.580..7.580 rows=2251
> loops=1)
>
> -> Seq Scan on rutas
> (cost=0.00..41.51 rows=2251 width=26) (actual
> time=0.013..3.853 rows=2251 loops=1)
> Total runtime: 148.293 ms
>
> I hope you could help me.
>
> Fernando
>
>
> --
>
>
>
>
--