PROBLEMAS CON VISTAS Y PACKAGE
EN MI BD AL REALIZAR UNA SELECT A UNA VISTA FORMADA POR UN CONJUNTO DE TABLAS, ESTA VISTA FILTRA LA INFORMACION POR MEDIO DE UNA VARIABLE DE SESION ALMACENADA EN UN PACKAGE,.
AL HACER EL SELECT SE RELENTIZA MUCHO LA BUSQUEDA HACIENDO USO DEL PACKGE.
¿ EXISTE ALGUNA FORMA DE QUE VAYA MAS RAPIDO?
SELECT *
FROM A,B
WHERE
A.A1=B.CODIGO_DE_A AND
B.VALOR=PAQUETE.DEVUELVE_VALOR
DE ESTE MODO LA CONSULTA PUEDER TARDAR COMO 100VECES MAS QUE SI LE DIESE UN VALOR DIRECTO ES DECIR
SELECT *
FROM A,B
WHERE
A.A1=B.CODIGO_DE_A AND
B.VALOR='100';
LA FUNCION DEL PACKAGE ES ESTA
FUNCTION DEVUELVE_VALOR
RETURN VARCHAR2
IS
X VARCHAR2;
BEGIN
X:=PACKAGE.VARIRABLE_VALOR;
END;
MUCHAS GRACIAS DE ANTEMANO
AL HACER EL SELECT SE RELENTIZA MUCHO LA BUSQUEDA HACIENDO USO DEL PACKGE.
¿ EXISTE ALGUNA FORMA DE QUE VAYA MAS RAPIDO?
SELECT *
FROM A,B
WHERE
A.A1=B.CODIGO_DE_A AND
B.VALOR=PAQUETE.DEVUELVE_VALOR
DE ESTE MODO LA CONSULTA PUEDER TARDAR COMO 100VECES MAS QUE SI LE DIESE UN VALOR DIRECTO ES DECIR
SELECT *
FROM A,B
WHERE
A.A1=B.CODIGO_DE_A AND
B.VALOR='100';
LA FUNCION DEL PACKAGE ES ESTA
FUNCTION DEVUELVE_VALOR
RETURN VARCHAR2
IS
X VARCHAR2;
BEGIN
X:=PACKAGE.VARIRABLE_VALOR;
END;
MUCHAS GRACIAS DE ANTEMANO
Creale Indices a las Tablas que utilizas en el query que forma la vista
con esto se agiliza tus consultas
Ejemplo:
SELECT *
FROM A,B
WHERE
A.A1=B.CODIGO_DE_A AND
B.VALOR=PAQUETE.DEVUELVE_VALOR
el indice se crea para la tabla B para los campos (Codigo_de_a y Valor)
El query debe ser asi
SELECT *
FROM A,B
WHERE
B.CODIGO_DE_A = A.A1 And
B.VALOR=PAQUETE.DEVUELVE_VALOR
Ok, espero te sirva
con esto se agiliza tus consultas
Ejemplo:
SELECT *
FROM A,B
WHERE
A.A1=B.CODIGO_DE_A AND
B.VALOR=PAQUETE.DEVUELVE_VALOR
el indice se crea para la tabla B para los campos (Codigo_de_a y Valor)
El query debe ser asi
SELECT *
FROM A,B
WHERE
B.CODIGO_DE_A = A.A1 And
B.VALOR=PAQUETE.DEVUELVE_VALOR
Ok, espero te sirva
