La complejidad de los métodos en la mayoría de los lenguajes de programación se puede medir en complejidad ciclomática con analizadores de código fuente estático. ¿Hay una métrica similar para medir la complejidad de una consulta SQL?Medición de la complejidad de las sentencias SQL
Es lo suficientemente simple como para medir el tiempo que tarda una consulta en regresar, pero ¿qué ocurre si solo quiero poder cuantificar qué tan complicada es una consulta?
[Editar/Nota] Si bien obtener el plan de ejecución es útil, eso no es necesariamente lo que estoy tratando de identificar en este caso. No estoy buscando qué tan difícil es para el servidor ejecutar la consulta, estoy buscando una métrica que identifique lo difícil que fue para el desarrollador escribir la consulta, y qué tan probable es que contenga un defecto.
[Editar/Nota 2] Es cierto que hay momentos en los que la medición de la complejidad no es útil, pero también hay momentos en los que sí lo es. Para una discusión adicional sobre ese tema, vea this question.
¿Es la complejidad del código fuente, o la complejidad del procesamiento que requiere, ¿qué le interesa medir? –
Realmente me pregunto si hay una manera de medir la complejidad del código fuente. Con C#/C++/Java, a menudo uso Cyclomatic Complexity para determinar qué métodos deberían probarse primero. Aquí, me gustaría saber qué consultas necesitan la mayor atención de la prueba. – epotter
¿Tiene la intención de expandir nuestras definiciones 'VIEW' en las consultas? ¿El uso de una función definida por el usuario de SQL hace que el código sea menos complejo o su definición necesita expandirse también? – onedaywhen