Log en Mysql

La base de datos Mysql guarda por defecto un log de todas las actividades realizadas. Este archivo se guarda en un formato binario comprimido que no se puede leer directamente. Para poder analizar los movimientos de la base de datos es preciso descomprimilo previamente.

Para eso tenemos la utilidad mysqlbinlog, que tiene su propia entrada en el manual:

mysqlbinlog

Proporciona diferentes complementos para la descompresión, incluyendo poder seleccionar las líneas a descomprimir o las fechas y hora. Imprescindible para analizar y solucionar errores en nuestras aplicaciones.

Forzar índices en SQL Server

Cuando ejecutamos una consulta en SQL Server éste realiza un plan de ejecución, normalmente intentando que la consulta funcione lo más rápido posible. Por desgracia los ordenadores no siempre son capaces de tomar buenas decisiones y es posible que su plan no sea óptimo.

Recientemente nos ha pasado al realizar una consulta sobre una base de datos de cuatro millones de registros; a pesar de existir un índice el SQL Server no lo utiliza y tarda más de medio minuto. Eligiendo el índice correcto el tiempo de ejecución se reduce a 12 segundos.

¿Cómo hacerlo? De la manera siguiente:

select * from MiTabla (INDEX=IX_MiIndice) where tralara=’XXX’

Es conveniente probar en el analizador de consultas que realmente mejoramos la velocidad.