2010/5/12 uno dos <[email protected]> > > Duda 1 > ¿Es normal que postgresql se tome el 100% de cpu pero por tiempo muy > reducido, o aún así es mucho?(shared buffers de 150 > mb, si, se que es bajo) >
tienes pruebas de que es postgres el que esta tomando el 100% del cpu? como monitoreaste esto? si sabes que postgres esta tomando el 100% del cpu quiza tambien puedas deducir que sesion es y que esta haciendo > Duda 2 > Mi segunda duda,: mirando y re-mirando mi código, para ver si puedo optimizar > mis consultas lo única consulta que encuentro que > no me gusta, y que quizás pudiera ser causante del lío es una del tipo > --------------------------------------------------------------------------------------------------------------------------------- > select dato1 FROM tabla WHERE codigo_2=NEW.codigo_2 AND codigo_3=NEW.codigo_3 > AND codigo_4=NEW.codigo_4 > ORDER BY codigo DESC LIMIT 1 FOR UPDATE; > --------------------------------------------------------------------------------------------------------------------------------- > > Debo hacer varios tipos de consultas similares dentro de la función de un > TRIGGER BEFORE, por un tema de validaciones, no > puedo controlarlas, sólo a través del código de la aplicación, ya que en > algunas ocasiones (según requisitos del jefe) debiera > intervenirse directamente la base de datos. > > Mi pregunta es > Puedo hacer esto "ORDER BY codigo DESC LIMIT 1" de alguna manera más óptima. > > EXPLAIN de una de estas consultas. > "Limit (cost=21.57..21.57 rows=1 width=95)" > " -> Sort (cost=21.57..21.58 rows=5 width=95)" > " Sort Key: codigo" > " -> Index Scan using fki_tiene_pr_rx on existencia > (cost=0.00..21.54 rows=5 width=95)" > " Index Cond: (codigo_producto = 686)" > crea un indice sobre el campo codigo y mira como te va > En todo caso demora entre 35 y 45 ms. > te faltan como 950ms para llegar a un segundo... no me parece tan malo, puede ser mas rapido pero tampoco es pesimo y ciertamente solo te ocuparia el cpu una fraccion de tiempo muchisimo menor a un 1s... -- Jaime Casanova www.2ndQuadrant.com Soporte y capacitación de PostgreSQL - Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda
