Recently Posted

advertisement



MySQL

Revisando unos papeles he encontrado una vieja “chuleta” en la que se explica como optimizar nuestro código SQL para realizar las consultas rápidamente :) .

  • Búsqueda de palabras

/* Muy rápida */
SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST ('palabra')

/* Rápida */
SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (’+palabra’ IN BOOLEAN MODE)

/* Lentas */
SELECT * FROM tabla WHERE RLIKE ‘(^| +)palabra($| +)’
/* o */
SELECT * FROM tabla WHERE
RLIKE ‘([[:space:]]|[[:<:]])palabra([[:space:]]|[[:>:]])’

  • Búsquedas contenidas

/* Muy rápida */
SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST ('palabra*' IN BOOLEAN MODE)

/* Rápida */
SELECT * FROM tabla WHERE FIELD LIKE ‘palabra%’

/* Lentas */
SELECT * FROM tabla WHERE MATCH (`campo`) AGAINST (’*palabra*’ IN BOOLEAN MODE)
/* o */
SELECT * FROM tabla WHERE campo LIKE ‘%palabra%’

  • Número de registros

/* Muy rápida */
SELECT SQL_CALC_FOUND_ROWS * FROM tabla WHERE condición LIMIT 0, 10
SELECT FOUND_ROWS()

/* Rápido */
SELECT * FROM tabla WHERE condición LIMIT 0, 10
SELECT COUNT(clave) FROM TABLE WHERE condición

PD. No se la página de la que lo saqué en su momento, si alguien lo sabe que lo diga que se añade a la entrada ;) .



Podrías ser el primero en comentar. Deja tu mensaje a continuación.



[x] Cerrar
E-mail