Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/08/2014, 07:43
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 6 meses
Puntos: 2658
Respuesta: optimizar base de datos?

Cita:
dices que no esta bien entonces usar el campo, que tiene la cantidad de comentarios. y debo hacer un count, de la tabla que tiene los comentarios
No exactamente...
Lo que @quimfv te dice es que no sedeben usar campos calculados en ningúin caso, sino que lo que se hace es realizar la consulta de cantidad al mismo tiempo que realizas otras.
El ejemplo más claro es el de una factura: ¿Por qué guardar el total de la factura, si puedes hacer que se recalcule con la misma consulta que devuelve la lista de productos facturados?
Sólo sirven para complicar los procesos y hacer más peticiones a la base sin ninguna ventaja.
En tu caso, por lo que dices tienes:
Cita:
tendre los articulos en una tabla y en otra los comentarios...
Eso significa que en la tabla "comentarios" tienes la FK de "articulos". En ese contexto lo único que necesitas es hacer un LEFT JOIN para listas los artículos:
Código MySQL:
Ver original
  1. SELECT A.id_articulo, A.contenido_articulo, count(C.id_articulo) TotalComentarios
  2. FROM Articulos A LEFT JOIN comentarios C ON A.id_articulo = C.id_articulo
  3. WHERE TRUE OR C.id_articulo IS NULL
  4. GROUP BY A.id_articulo
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)