se almacenan procedimientos aún más eficientes que las declaraciones en línea sobre los RDBM modernos?
Históricamente, los procedimientos almacenados se consideraron más rápidos que las declaraciones en línea debidas a factores como los sql preparrados y la latencia de la red reducida. Sin embargo, estas ventajas han disminuido en las bases de datos modernas:
pre-Parsed sql: Aunque aún es beneficiosa, la ganancia de rendimiento es menos notable en las CPU modernas. Sin embargo, para las declaraciones SQL altamente repetitivas, puede acumularse la sobrecarga. Los planes de ruta del optimizador también pueden acelerar significativamente la generación del plan.
reducción de la latencia de red: con velocidades rápidas de Ethernet, los beneficios de latencia de los procedimientos almacenados se han vuelto menos significativos, especialmente para pequeñas declaraciones de SQL. Se realizan transformaciones del lado del servidor. Sin embargo, para aplicaciones sin acceso a la memoria compartida a los datos de DBMS, los procedimientos almacenados todavía tienen un borde.
parametrizado/preparado sql: parametrizado sql es un híbrido entre los procedimientos almacenados y ad hoc sql. Utiliza parámetros para los valores de consulta y permite a los optimizadores planes de ejecución de consultas de caché, ofreciendo beneficios de rendimiento similares a los procedimientos almacenados.
ad hoc sql: Los dbms modernos pueden "abstragar" ad hoc sql en versiones parametrizadas, cediendo el espacio de rendimiento con los procedimientos almacenados. Con optimizadores sofisticados, el rendimiento ad hoc SQL a menudo es comparable al rendimiento del procedimiento almacenado para los casos de uso promedio.
conclusión:
en la mayoría de los casos, el uso de procedimientos almacenados únicamente para las razones de rendimiento es probable que sea una optimización prematura. Para cargas de trabajo SQL simples o moderadas, los SQL parametrizados o ad hoc pueden proporcionar un rendimiento comparable. Los procedimientos almacenados aún pueden ser beneficiosos en escenarios específicos, tales como:
Repetitive, Computationally Intensive SQL StatementsMoving Procedury Code para reducir el tráfico de red complejos de sql que requieren hintintos de optimización
]Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3