Pregunta

En ciertas áreas de mi aplicación necesito datos de varias tablas en la base de datos (tengo una aplicación, la aplicación tiene muchos atributos, cada atributo tiene varias definiciones y cada definición tiene un valor). Necesito los datos de todas estas tablas para una aplicación. ¿Debo usar una vista (una que sería bastante grande) o subconsultas para seleccionar los registros? En el caso de las subconsultas, ¿el optimizador puede funcionar de manera eficiente? También me interesa si el almacenamiento en caché funcionará para las subconsultas.

¿Fue útil?

Solución

Las vistas normalmente se expanden en su lugar en subconsultas, a menos que marque explícitamente las vistas como persistentes al colocar un índice agrupado en ellas.

Otros consejos

Esta es una pregunta 'depende'. Una vista puede ayudar a hacer que el código sea más fácil de mantener, pero los predicados de selección complejos pueden confundir al optimizador.

Otra opción es un procedimiento almacenado que devuelve un conjunto de registros. Si reutiliza una subconsulta varias veces, puede obtener algo de kilometraje al dividir la consulta, seleccionar la subconsulta en una tabla temporal y combinar las partes en un paso posterior.

Sin una descripción más específica del problema, es difícil dar una respuesta significativa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top