Simples optimizaciones para tus aplicaciones MySQL/PHP
Una serie de trucos que podemos utilizar para mejorar nuestras aplicaciones MySQL / PHP, traducido (lo mejor posible) de la fuente:
MySQL
- MySQL interpreta de derecha a izquierda, por lo que los limitadores más significativos los debes poner lo más a la derecha posible.
- Selecciona los campos que vayas a necesitar, no todos (*).
- No pongas en datos que se vayan a modificar rara vez, utiliza ficheros de propiedades.
- Usa Ãndices para las columnas que aparezcan en el WHERE y en el ORDER BY.
- Los Ãndices son buenos cuando la tabla se modifica con frecuencia, pero hace lentas las inserciones.
- Usa el comando EXPLAIN para analizar tus Ãndices.
- Si solo quieres obtener una fila, usa LIMIT 1 asà parará de buscar datos.
- Si usas $linea = mysql_fetch_array($resultado), hay dos modos de obtener los datos: $linea[n] y $linea[‘columna’]. Si vas a acceder solo por el nombre de la columna, usa $linea = mysql_fetch_assoc($resultado), asà no se creará el Ãndice numérico.
- Algunas veces mysql_free_result() gasta mas memoria que la que salva, comprueba la diferencia con memory_get_usage().
- No hagas siempre la misma consulta en la BD, guarda los resultados.
- Usa NOT NULL siempre que puedas, agiliza la ejecución y ahorra un bit.
- Usa tipos de datos que se ajusten a las necesidades, por ejemplo, en vez de usar INT, que puede ser muy grande, usa MEDIUMINT o SMALLINT cuando sea posible.
- Usa valores por defecto, inserta solo cuando sean diferentes a estos, agilizarás las inserciones.
PHP
- Intenta agrupar bloques de código
<?php ... ... ... ?>es mas efectivo que
<?php ... ?> <?php ... ?> <?php ... ?> - No concatenes texto cuando no sea necesario
"SELECT * FROM $tabla ORDER BY campo"es más efectivo que
"SELECT * FROM ".$tabla." ORDER BY campo" - Utiliza la comilla simple (‘) en vez de la comilla doble (“) siempre que no vayas a usar variables dentro, la comilla doble hace que el intérprete analice lo que hay dentro de las comillas.
- La forma más rápida de concatenar texto es usando comillas simples.
- Cuando uses echo, separa los strings por comas mejor que con puntos, es más rápido. Esto solo funciona con echo.
- echo es más rápido que print.
- Indica el valor máximo para tus bucles for fuera del bucle en vez de dentro del bucle, porque si no, se evaluará la expresión en cada pasada del bucle
$max = 100/10; for($i=0; $i<$max; $i++){ ... }es más rápido que
for($i=0; $i<100/10; $i++){ ... } - Libera variables siempre que puedas, sobre todo arrays pesados.
Simple Optimization for PHP and MySQL
VÃa / Digg

Últimamente el número de frameworks para PHP que aparecen crece cada vez más rápido. Solar es un framework para PHP5 que nos permite desarrollar aplicaciones web de forma rápida. Usa conceptos derivados del sistema de plantillas 