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.

Anuncios