Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Que consulta es mejor?

Estas en el tema de Que consulta es mejor? en el foro de Mysql en Foros del Web. Estoy haciendo una web en php algo complicada y se me presenta una duda. Por el momento estoy haciendo esta consulta Código PHP: $query  =  ...
  #1 (permalink)  
Antiguo 15/07/2011, 03:21
 
Fecha de Ingreso: octubre-2010
Ubicación: Aachen
Mensajes: 160
Antigüedad: 13 años, 6 meses
Puntos: 22
Pregunta Que consulta es mejor?

Estoy haciendo una web en php algo complicada y se me presenta una duda.

Por el momento estoy haciendo esta consulta
Código PHP:
$query "SELECT * FROM tabla1 WHERE (a = '".$_SESSION['a']."')  ORDER BY id desc;"
    
$result mysql_query($query) or die(mysql_error());
        while(
$row mysql_fetch_array($result)){
            
$query1 "SELECT * FROM tabla2 WHERE (b = '".$row['b']."')  ORDER BY id desc;"
            
$result1 mysql_query($query1) or die(mysql_error());
                while(
$row1 mysql_fetch_array($result1)){ 
}}

Y me pregunto si ya está bien (si que funciona) o sería más eficiente hacer una sola consulta a una tabla que ya reuna todos los datos que busco de estas 2?
  #2 (permalink)  
Antiguo 15/07/2011, 06:18
Avatar de 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, 5 meses
Puntos: 2658
Respuesta: Que consulta es mejor?

Siempre es más eficiente hacer un INNER JOIN entre tablas, que una lectura secuencial entre valores de tablas leídas separadamente. En especial si los campos representan una relación de FOREIGN KEY.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: php, query, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:28.