10 consejos para MySQL
Buenos consejos a tener en cuenta:
- Ponle contraseña al usuario root y luego cámbiale de nombre: lo más normal es ponerle contraseña al usuario root, pero no nos sorprendamos si vemos un root sin password o con algo tan ridÃculo como root_1. Lo que si no se suele hacer mucho es cambiar el nombre al root y eso es una buena idea que habrÃa que tener siempre en cuenta… pero que tampoco sea admin (como dice el artÃculo), sino algo más difÃcil de adivinar.
- Oculta MySQL de Internet: MySQL no necesita estar accesible desde Internet, por lo que mejor evitar esa posibilidad.
- Protege el directorio de instalación de MySQL de otros usuarios
- No almacenes datos binarios: que MySQL lo permita no quiere decir que sea lo mejor hacerlo. MySQL envÃa los datos de una única vez, esto implica que hasta que no se envÃe el campo completo, la aplicación no puede parsear la información. Es preferible almacenar los datos en el sistema de ficheros y almacenar en la BD un ruta hasta el fichero. Aunque yo casi recomendarÃa guardar en la BD una clave, para que mediante una lógica en la aplicación se pueda recuperar la ruta, asÃ, si tenemos que modificar la ruta no tenemos que modificar todos los registros de la BD, tan solo la lógica del programa.
- Usa SQL standard: MySQL ofrece posibilidades que no son del SQL estándar y que pueden aportarnos muchas ventajas, el problema es que nos limita a exportar nuestra aplicación a otras BD si en un futuro lo necesitamos. La solución es no ejecutar esas sentencias directamente, sino mediante una clase, que extienda de una clase genérica, asà podremos simular esas funcionalidades de MySQL en otras BDs creando otras clases para cada motor de BD.
- Crea tu propio generador de auto_increment: el auto_increment nos crea números consecutivos que podemos usar en nuestras tablas, pero con limitaciones, solo existe un auto_increment por tabla y son independientes de las tablas, por lo que distintas tablas pueden tener mismo id, lo cual puede no convenirnos en algunas circunstancias.
- No mezcles código de presentación con el de acceso a BD: es el sistema MVC que siempre debemos usar.
- Normalización y denormalización: la normalización nos permite tener una BD sin datos redundantes. Desafortunadamente, a veces esta pena el rendimiento, para lo cual, una vez normalizada la BD es conveniente denormalizarla.
- Usa un pool de conexiones en el servidor Web o en el servidor de aplicaciones: la conexión a la BD es algo costoso, si compartimos conexión mediante un pool, ganaremos en rendimiento.
- Mejoras tus queries con EXPLAIN SELECT: aunque es un comando difÃcil de seguir, nos puede ayudar mucho.
VÃa / Sheeri Kritzer Cabral