Hay una clara diferencia cuando utiliza variables de vinculación, que debe utilizar en Oracle para cualquier otra cosa que no sea el almacenamiento de datos u otras operaciones de datos masivos.
Tomemos el caso de:
SELECT * FROM SOME_TABLE WHERE SOME_FIELD LIKE :b1
Oracle no puede saber que el valor de: b1 es '% some_value%', o 'some_value' etc., hasta que el tiempo de ejecución, por lo que hará una estimación de la cardinalidad del resultado basado en heurística y proponer un plan apropiado que puede o no ser adecuado para varios valores de: b, como '% A', '%', 'A', etc.
Similar los problemas pueden aplicarse con un predicado de igualdad, pero el rango de cardinalidades que pueden resultar es mucho más fácil de estimar en base a las estadísticas de columna o la presencia de una restricción única, por ejemplo le.
Por lo tanto, personalmente no comenzaría a utilizar LIKE como un reemplazo para =. El optimizador es bastante fácil de engañar a veces.
¿Qué prueba hiciste? –
1 - Se ejecutó una instrucción en una tabla grande utilizando ambos métodos muchas veces, teniendo en cuenta el tiempo de ejecución 2 - Miró el plan de explicación – JosephStyons