Uso de las vistas

3 comentarios

Una vista (VIEW) es una consulta predeterminada que se guarda dentro de la Base de Datos lo cual hace que su ejecución sea mucho más rápida que escribir el SELECT correspondiente.

En general se usa con una cláusula WHERE.

Solamente se pueden usar las columnas que están definidas dentro de la vista, no se pueden utilizar las otras columnas que tenga la tabla.

Anuncios

Nunca usar la cláusula ORDER BY en una vista

2 comentarios

Crear una vista como esta tiene un gran problema:

CREATE VIEW
    V_ABM_AGRUPACIONES(AGR_IDENTI, AGR_NOMBRE)
AS
    SELECT
        A.AGR_IDENTI,
        A.AGR_NOMBRE
    FROM
        AGRUPACIONES A
    ORDER BY
        A.AGR_IDENTI;

¿Y cuál es ese problema?

La cláusula ORDER BY, la cual no debería estar en una vista. ¿Y por qué no? porque especificar una cláusula ORDER BY en una vista no tiene sentido. Una vista es una tabla temporal que se puede usar en un SELECT como si fuera una tabla normal, pero está contenida dentro de la Base de Datos. Si usas ORDER BY en una vista entonces el tiempo que tardarás en consultarla (sobre todo si tu SELECT también tiene un ORDER BY) será muchísimo.

Esto es más y más notorio cuantas más filas tenga la tabla. En una tabla pequeña (digamos de menos de 100 filas) no notarás mucha diferencia, en cambio en una tabla grande (digamos más de 1.000.000 de filas) la diferencia será monstruosa, por ejemplo, sin usar ORDER BY la consulta puede tardar un segundo, pero usándolo puede tardar 50 minutos o más.

Newer Entries