¿Son los procedimientos almacenados de MySQL una mala práctica?

Contenidos

El Procedimientos almacenados de MySQL se ha convertido en una de las herramientas preferidas para cálculos de datos complejos, jugando un papel importante. Pero a pesar de esto, Los procedimientos almacenados de MySQL además generan algunos inconvenientes. A modo de ejemplo, muchas de sus funciones son problemáticas, difíciles de borrar o migrar; y hay algunos bases de datos con Procedimientos almacenados de MySQL bastante débil. Estos problemas a veces afectar seriamente la eficiencia de los desarrolladores de bases de datos.

procedimientos almacenados de mysql

Créditos fotográficos: canjoena

Los procedimientos almacenados de MySQL pueden ser beneficiosos

Los procedimientos almacenados de MySQL promueven la agilidad al ayudar con la velocidad. Además facilitan la reutilización del código. y encapsulación (dos pilares del desarrollo de software). Al mismo tiempo, pueden convertirse en un aliado en materia de seguridad, dado que disponen la capacidad de proteger contra ataques de inyección SQL y pueden otorgar y revocar permisos en un procedimiento almacenado individualmente.

Pero a pesar de esto, para evitar sus inconvenientes, es necesario tener claro dónde y cómo usar los procedimientos almacenados de MySQL:

  1. Control de acceso. Puede usarse para permitir cláusulas SQL arbitrarias en entornos de desarrollo y UATy prohibirlos en entornos de producción y sistemas. De esta forma, cualquier cláusula que llegue al sistema o producción podría ser revisada por los desarrolladores y DBA.
  2. Lógica escalable. Los procedimientos almacenados de MySQL además son útiles en situaciones en las que el servidor de aplicaciones no se puede escalar (ni en entornos de nube ni en las instalaciones). Si hay suficiente capacidad en el back-end de la base de datos, la lógica empresarial podría trasladarse allí.
  3. Agregación de datos. Otra situacion donde se puede usar cuando una aplicación necesita que se transpongan o se agreguen datos de varias consultas o vistas. Contar con este tipo de trámite posibilita descargar desde la aplicación a la base de datos.

En resumen, se podría argumentar que procedimientos almacenados MySQL es excelente para acelerar ciertas operaciones de bases de datos. En la práctica, solo debe tenerse en cuenta que, a nivel arquitectónico, Sería mejor dejar toda la lógica en la capa empresarial de la aplicación y usar los procedimientos almacenados de MySQL específicamente para impulsar el rendimiento. cuando la evaluación comparativa indica que se justifica.

Situaciones en las que evitar recurrir a procedimientos almacenados de MySQL

Hay ocasiones en las que es preferible no usar procedimientos almacenados. MySQL. Estos son los siguientes:

  • Cuando se consideran como el único mecanismo de defensa frente a la inyección de SQL.
  • Si se pretende extender su uso más allá de la recolección de datos hasta ingresar al territorio de una lógica compleja. Algo que debe evitarse debido a que podría considerarse lógica empresarial y, por eso, tendría que quedarse en otro lugar.
  • Cuando las bases de datos son el único lugar que contiene los procesos de almacenamiento, estos deben tratarse de la misma manera que el código fuente de C # o Java.

Probablemente haya más beneficios que desventajas de utilizar procedimientos almacenados de MySQL en proyectos de big data, Pero cuando no sabes a ciencia cierta hasta dónde puedes llegar con ellos, es mejor no arriesgarte para evitar consecuencias.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.