Tips para optimizar consultas mysql en php
A continuación una serie de tips para optimizar nuestras consultas MySQL al utilizarlas en PHP o bien en cualquier otro lenguaje. Estan ordenadas por orden de velocidad de Mayor a Menor velocidad de ejecución.
Búsqueda de palabras
1.- La mas rápida
SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (‘palabra’)
2.- Rápida
-
SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (‘+palabra’ IN BOOLEAN MODE)
3.- Lentas
SELECT * FROM tabla WHERE RLIKE ‘(^| +)palabra($| +)’
SELECT * FROM tabla WHERE RLIKE ‘([[:space:]]|[[:<:]])palabra([[:space:]]|[[:>:]])’
Búsquedas contenidas
1.-La mas rápida
SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (‘palabra*’ IN BOOLEAN MODE)2.- Rápida
SELECT * FROM tabla WHERE FIELD LIKE ‘palabra%’
3.- Lentas
SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (‘*palabra*’ IN BOOLEAN MODE)
SELECT * FROM tabla WHERE campo LIKE ‘%palabra%’
Obtener el número de registros
1.- Las mas rápida
SELECT SQL_CALC_FOUND_ROWS * FROM tabla WHERE condición LIMIT 0, 10
SELECT FOUND_ROWS()
3.- Rápidas
SELECT * FROM tabla WHERE condición LIMIT 0, 10
SELECT COUNT(clave) FROM TABLE WHERE condición
3. Lenta
$result = mysql_query(“SELECT * FROM tabla”, $link);
$num_rows = mysql_num_rows($result);
Pueden seguir leyendo mas tips en PHP Mysql tips