MAX ? en el fondo estas sacando el maximo. :D Sobre la CPU, por definicion si marca tu CPU 1.0 estas usando solo un CORE al 100 % ( y cada core resiste sin problemas 2.0). con 4.0 tu sistema se comienza a trancar y sobre 8.0 preocupate. (Alpha es más lento, pero se comporta mejor con más carga ese bicho).
2010/5/13 uno dos <[email protected]> > Hola lista. Miren, en un sistema que he desarrollado, de una parte a este > tiempo he notado que postgresql se toma mucha CPU(100%) > ya, tengo dos dudas > > 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) > > 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)" > > En todo caso demora entre 35 y 45 ms. > > P.D.: Es una típica aplicación web de inventarios(por eso el trigger > before, que controla el stock), con una base de datos de apenas unos > 50-60mb. > > Bueno, eso es, Saludos por allá. > > -- Saludos, Horacio Miranda Aguilera. RedHat Certified Engineer DBA Oracle - Large databases +56 2 8974500
