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’)
[/code]
2.- Rápida
SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (‘+palabra’ IN BOOLEAN MODE)
[/code]
3.- Lentas
SELECT * FROM tabla WHERE RLIKE ‘(^| +)palabra($| +)’
SELECT * FROM tabla WHERE
RLIKE ‘([[:space:]]|[[:<:]])palabra([[:space:]]|[[:>:]])’
[/code]
Búsquedas contenidas
1.-La mas rápida
SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (‘palabra*’ IN BOOLEAN MODE)
[/code]
2.- Rápida
SELECT * FROM tabla WHERE FIELD LIKE ‘palabra%’
[/code]
3.- Lentas
SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (‘*palabra*’ IN BOOLEAN MODE)
SELECT * FROM tabla WHERE campo LIKE ‘%palabra%’
[/code]
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()
[/code]
3.- Rápidas
SELECT * FROM tabla WHERE condición LIMIT 0, 10
SELECT COUNT(clave) FROM TABLE WHERE condición
[/code]
3. Lenta
$result = mysql_query(“SELECT * FROM tabla”, $link);
$num_rows = mysql_num_rows($result);
[/code]
Pueden seguir leyendo mas tips en PHP Mysql tips
Via: Sentido Web