Foros del Web » Programando para Internet » PHP »

Consulta a Base de datos sql muy lenta.

Estas en el tema de Consulta a Base de datos sql muy lenta. en el foro de PHP en Foros del Web. Hola Estoy teniendo problema con la consulta a una base de datos. Funciona bien pero es muy LENTA. Supongo que es por la forma en ...
  #1 (permalink)  
Antiguo 05/03/2009, 02:16
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
Consulta a Base de datos sql muy lenta.

Hola
Estoy teniendo problema con la consulta a una base de datos. Funciona bien pero es muy LENTA.
Supongo que es por la forma en que estructuré la base de datos y la consulta en si misma.

Es para guardar fichas de productos químicos que llevan muchos datos, para ser exacto: cada producto tiene 80 datos (titulo, descrip, peso, tamaño, etc). Y hay 150 productos

En la base de datos he creado 3 campos (id, nombre, datos) y como se crea una fila por producto hay 150 filas.
El id es autoincrementa,
El nombre es un texto de 60 characters como máx.
Y datos se compone de lo siguiente:
creo un array ($miArray) con 80 elementos (cada uno con su clave) algo como:
$miArray=array ('titulo1' => 'Título de Producto', 'descrip1' => 'Descrip de Producto', 'peso1' => 'Peso de Producto', ...)

Antes de guardarlo uso serialize(): $miArrayParaGuardar=serialize($miArray);

Luego para recuperar los datos recupero 'datos' de la base de datos de esta forma:

Código:
$sql="SELECT datos FROM miDB WHERE nombre='textoEnNombre'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);	
$miArrayEnDB=$row[0];
$miArray=unserialize($miArrayEnDB); 

$valorDeDato='titulo1';
$valorDeDato=$miArray[$valorDeDato];
echo '
TITULO 1:<br/>'.$valorDeDato.'<br/>

//y así voy recuperando todos los datos
';
Alguna idea para hacer esto de una forma que sea más rápido?
Puede ser que necesite un hosting más potente? El que tengo es muy normalito, si cambio a un servidor más rápido se va notar alguna diferencia?

gracias
saludos
  #2 (permalink)  
Antiguo 05/03/2009, 06:46
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Consulta a Base de datos sql muy lenta.

Estás seguro que el problema es esa consulta SQL? Sólo solicitas una fila y su contenido no es taaaan extenso. Usa microtime() para verificar los tiempos de ejecución por bloques de código y ver dónde está el retraso.

  #3 (permalink)  
Antiguo 06/03/2009, 04:36
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
Respuesta: Consulta a Base de datos sql muy lenta.

gracias okram
Como tu lo dices el problema era otro.

Miraré ese microtime() que puede ser muy útil.

Saludos
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 12:08.