Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/03/2009, 02:16
chefnelone
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 19 años, 2 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