Les comento, tengo un portal en un host y hace 2 semanas me bajaron el portal atribuyendo que "está consumiendo demasiados recursos en queries a la mysql" cerca de un %75 cuando según ellos un portal así deberia consumir un %3... El tema es que entran 10.000 personas x dia, a veces hay hasta 400 visitantes online en un mismo momento. Pero bue, la cuestion es que el server está diciendome que el código está mal escrito pero a mi parecer no es así.
Pongo un ejemplo de una de las secciones donde más queries se toman (3 en total, en las demas se toman 1 o 2 queries como mucho).
$db = conexion();
$query = "SELECT mensajes.*,usuarios1.user,usuarios1.nick FROM mensajes LEFT JOIN usuarios1 ON mensajes.de = usuarios1.user WHERE mensajes.idinst='$idinst' ORDER BY mensajes.fecha DESC LIMIT ".$start.",".$perpage;
$listado = mysql_query($query, $db) or die(mysql_error());
$row_listado = mysql_fetch_assoc($listado);
$total_listado = mysql_num_rows($listado);
$queryINST = "SELECT nombre FROM instituciones WHERE instituciones.idinst='$idinst' LIMIT 0,1";
$INST = mysql_query($queryINST, $db) or die(mysql_error());
$row_INST = mysql_fetch_assoc($INST);
$querycant = "SELECT ip FROM mensajes WHERE idinst='$idinst'";
$cantmensajes = mysql_query($querycant, $db) or die(mysql_error());
$total_mensajes = mysql_num_rows($cantmensajes);
mysql_close($db);
Como ven, se abre la conexion mysql, se toman los datos, se construyen los arrays y se cierra la conexion. Siemrpe armé de esta manera y nunca tuve problemas salvo con ellos que dicen q así está mal hecho, pero no me dan otra solución.
El tema es q necesito saber si realmente existe otra manera de hacer las queries sin q consuman tanto recursos (pq yo no conozco) o bien si la gente del server me está mandando cualquiera, q el codigo esta bien programado. El problema especificamente es con el consumo de recursos cuando el script pide los datos a la mysql.
Para mi, es x la cant de gente, pero bue. Necesito la palabra de alguien q sepa más q yo para estar mas seguro.
gracias, saludos!