considere las siguientes afirmaciones
select name from T_emp where id=1;
select name from T_emp where id=2;
select name from T_emp where id=3;
Cada vez que se ejecuta una instrucción, cheques de Oracle para las apariciones anteriores de la misma consulta. Si encuentra la misma consulta, se hace uso del mismo plan de ejecución . Si no, tiene que encontrar las diversas rutas de ejecución, crear el plan de ejecución óptimo y ejecutarlo.
diferencia de que no lo suficientemente inteligente como para darse cuenta de que sólo el identificador ha cambiado (según el ejemplo anterior) humana. Por lo tanto, atraviesa todas las luchas y lo ejecuta.
Pero hay una manera de decir que Oracle es una declaración similar y que se puede utilizar el mismo plan de ejecución - BIND VARIABLE. Por favor, encuentre el siguiente ejemplo:
declare
v_id number;
v_name varchar2(30);
type c is ref cursor;
c1 c;
begin
for i in 1..100
loop
open c1 for 'select * from T_emp where id = :x' using i;
fetch c1 into v_name;
dbms_output.put_line('name is ' || v_name);
end loop;
END;
El uso de variables de vinculación ayuda a mejorar el rendimiento diez veces. PL/SQL hace uso de las variables se unen por sí mismo (no es necesario que indique explícitamente que)
Se llama "dos puntos", un ";" es un punto y coma –