Me encuentro diseñando un par de aplicaciones y este es un tema que siempre te planteas, cual tengo que utilizar?
Una forera de elhacker.net (^Tifa^) me recomendó un servidor con InnoDB para consultas Insert y Update y otro con Myisam para Select, pero claro... no todos podemos permitirnos tal cosa, y yo menos.
Así que en base a ciertos valor tendremos que "jugarnosla" por uno de ellos.
Vamos a exponer los principales puntos que se comentan en la red, que no todos, pues no soy ningún experto.
InnoDB:
- En general se recomienda para consultas Insert y Update por su integridad a la hora de guardar datos
- Lo que lo convierte en mas lento
- Pero mas seguro (bajo cortes de luz, por ejemplo, si la consulta no se ejecutó completamente no se guarda y así no recibimos la mitad de los datos corruptos)
- También tiene las Foreng Keys (FK), lo cual lo hace muy util para una base de datos optimizada
Myisam:
- Se recomenda para aquellos diseños en los que suele haber mas SELECT que no Insert o Update
- No garantiza la integridad de nuestros datos,
- lo cual lo convierte en mas rapido
- pero menos seguro a lo que datos se refiere
- Quizá su mayor desventaja es que no tiene las preciadas FK
- Los Text se indexan con mayor desempeño, lo cual permite crear una "specie de buscador" mas eficiente que en InnoDB
A grandes rasgos quizá esto sea lo mas importante a destacar
Conclusión propia:
Mi conclusión es siempre decantarme por InnoDB (si necesito FK), soy un negado del SQL si algún dia le meto mas tiempo y aprendo a usar los TRIGGERS quizá mi visión del mundo cambie. De momento prefiero utilizar InnoDB y sus amadas FK para mis base de datos relacionales.
Conclusión de otras entidades:
Otros blogs, web, docuemntos, dicen que si tu sitio es mas propenso a recibir datos que no a mostrarlos, tu motor es InnoDB, como el caso no se suele producir frecuentemente, por regla general el motor a usar es myisam.
Quizá lo lógico, bajo esa perspectiva, es tener alguna tabla tipo un log de acciones con un motor InnoDB y el resto usando myisam.
En definitiva, cada uno escoja lo que mas le convenga de acuerdo a su necesidad o gustos. El post pretende ser una guia para empezar a tomar conciencia de que es cada motor y en que se diferencian. A partir de este punto queda investigarlos un poco mas y tomar la decisión de cual de ambos necesita nuestra aplicación.
Una forera de elhacker.net (^Tifa^) me recomendó un servidor con InnoDB para consultas Insert y Update y otro con Myisam para Select, pero claro... no todos podemos permitirnos tal cosa, y yo menos.
Así que en base a ciertos valor tendremos que "jugarnosla" por uno de ellos.
Vamos a exponer los principales puntos que se comentan en la red, que no todos, pues no soy ningún experto.
InnoDB:
- En general se recomienda para consultas Insert y Update por su integridad a la hora de guardar datos
- Lo que lo convierte en mas lento
- Pero mas seguro (bajo cortes de luz, por ejemplo, si la consulta no se ejecutó completamente no se guarda y así no recibimos la mitad de los datos corruptos)
- También tiene las Foreng Keys (FK), lo cual lo hace muy util para una base de datos optimizada
Myisam:
- Se recomenda para aquellos diseños en los que suele haber mas SELECT que no Insert o Update
- No garantiza la integridad de nuestros datos,
- lo cual lo convierte en mas rapido
- pero menos seguro a lo que datos se refiere
- Quizá su mayor desventaja es que no tiene las preciadas FK
- Los Text se indexan con mayor desempeño, lo cual permite crear una "specie de buscador" mas eficiente que en InnoDB
A grandes rasgos quizá esto sea lo mas importante a destacar
Conclusión propia:
Mi conclusión es siempre decantarme por InnoDB (si necesito FK), soy un negado del SQL si algún dia le meto mas tiempo y aprendo a usar los TRIGGERS quizá mi visión del mundo cambie. De momento prefiero utilizar InnoDB y sus amadas FK para mis base de datos relacionales.
Conclusión de otras entidades:
Otros blogs, web, docuemntos, dicen que si tu sitio es mas propenso a recibir datos que no a mostrarlos, tu motor es InnoDB, como el caso no se suele producir frecuentemente, por regla general el motor a usar es myisam.
Quizá lo lógico, bajo esa perspectiva, es tener alguna tabla tipo un log de acciones con un motor InnoDB y el resto usando myisam.
En definitiva, cada uno escoja lo que mas le convenga de acuerdo a su necesidad o gustos. El post pretende ser una guia para empezar a tomar conciencia de que es cada motor y en que se diferencian. A partir de este punto queda investigarlos un poco mas y tomar la decisión de cual de ambos necesita nuestra aplicación.
Publicar un comentario