SQL Server vs MySQL

Esto no es una comparativa a nivel profundo ni lo pretende ser, mi único objetivo es remarcar desde el punto de vista de un usuario básico las ventajas de uno u otro sistema a la hora de trabajar con ellos. No a la hora de instalarlos, configurarlos ni mantenerlos, solo a la hora de pedir datos almacenados en estos gestores de bases de datos.

Por mi trabajo tengo que manejar ambos sistemas a partes iguales y muchas veces extraño cosas de uno en el otro y viceversa, aquí os dejo una pequeña comparativa desde mi punto de vista y basada en mi experiencia profesional, si alguien descubre algún error o una mejor forma de hacer las cosas estaría encantado de recibir un feedback.

Cosas que agradezco de MySQL

  1. Me encantan las sintaxis ON DUPLICATE KEY e INSERT IGNORE, me parecen muy útiles a la hora de ejecutar consultas y gestionar errores.
  2. El uso de los índices de texto completo me parecen mucho más sencillo e intuitivo sobre todo con la integración de estos en tablas InnoDB desde las últimas actualizaciones.
  3. Me parece una idea muy acertada permitir al usuario configurar si desea recibir errores o no cuando un usuario inserta un campo cadena que supera el tamaña pre establecido en vez de siempre lanzar un error como su homólogo SQL Server.
  4. La existencia de algunas funciones como las de convertir una IP en un Entero.
  5. La existencia del flag sin signo para enteros, me parece un acierto genial permitir por configuración en una tabla que los enteros puedan o no tener signo, esto se puede hacer en SQL  utilizando restricciones pero no ganas espacio, mientras que en MySQL si no tiene signo te permite almacenar con la misma capacidad el doble de valores.

Cosas que agradezco en SQL Server

  1. Me encantan las celdas auto calculadas, o celdas de fórmula.
  2. El Managment Studio me parece el programa gestor de bases de datos más completo y eficiente del mercado, a años luz del MySQL Workbench (en la versión 6 ha mejorado mucho pero aún le falta).
  3. La sintaxis OUTPUT en consultas INSERT, UPDATE y DELETE es el gran acierto y la gran ayuda a programadores, evita hacer consultas repetidas para obtener unos datos que se pueden obtener de manera automática.
  4. Las gestión de los disparadores o triggers me parece mucho más robusta y completa, la gestión de recursividad en los mismo es genial.
  5. Las funciones para el manejo de fechas son mucho más completas, versátiles que en MySQL, de ahí que tal vez sean un poco más complejas de manejar.

En ambos sistemas se pueden trabajar con bases de datos de otros servidores pero el motor FEDERATED de MySQL creo que carece de una distribución adecuada, falta en casi la mayoría de los paquetes e instalarlo suele ser más difícil porque en la mayoría de los casos es necesario compilar el código, creo que en ambos se debería mejorar la gestión de índices entre este tipo de conexiones.

Otra de las ventajas que veo en SQL Server es que es un gestor cuyo desarrollo es más estable, mientras que MySQL a raíz de su compra por parte de Oracle ha perdido muchos repositorios Linux (la mayoría para CentOS que ofrecían las nuevas versiones) y se ha derivado en otros proyectos como MariaDB, aunque si bien es una ventaja de MySQL ser multiplataforma.

Seguro que se me olvida algo, pero esto es lo que más fresco tengo ¿alguna sugerencia?

Comentarios