Recently Posted

advertisement


Archivo para la categoría ‘MySQL’ .


Algunos consejos de optimización para MySQL

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 ;) .


Resetear la contraseña de root de MySQL

MySQL

Algunas veces tenemos el “pequeño” contratiempo de perder nuestras contraseñas. Por suerte hay algunos trucos para poder recuperarlas facilmente :) . En esta entrada se explicará como recuperarla… ;)

  • Nos logueamos como root y detenemos el demonio de MySQL. En Ubuntu/Debian teclearíamos lo siguiente:

$/etc/init.d/mysql stop

  • Ahora rearrancamos el demonio sin cargar las tablas que tienen almacenadas los permisos y las contraseñas:

$mysqld_safe --skip-grant-tables

Ahora deberiamos ver que MySQL ha arrancado correctamente y debería dejarnos conectarnos como root sin contraseña. Si esto no fuese asi.. malo :( .

  • Ahora nos conectamos al terminal de MySQL como usuario root y asignamos la nueva contraseña:

$mysql --user=root mysql

Ahora que estamos conectados a MySQL introducimos los siguientes comandos en la terminal de MySQL

update user set Password=PASSWORD('new-password');
flush privileges;
exit;

  • Ahora matamos nuestro proceso mysql y reiniciamos el demonio normalmente.

Fuente original: cmdln.org.



[x] Cerrar
E-mail