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:
Alguna idea para hacer esto de una forma que sea más rápido?$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 ';
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