Optimizar un like

bmgdba
29 de Abril del 2005
Hola a todos mi consulta es la siguiente:

Se puede optimizar una query de busqueda cuando tiene un condicionante like, ?

cgaliano
29 de Abril del 2005
Se puede optimizar la búsquedas con el operador LIKE de dos maneras:

Creando un índice tipo BITMAP sobre la columna que utilizas en el LIKE, el inconveniente está en que para que la carga de los datos sea más rápida (INSERT), los índices bitmap se tienen que borrar antes de la inserción de los datos y volverse a crear una vez que los datos ya han sido cargados, de lo contrario se generan tiempos de espera bastantes largos. Se recomienda su uso en aplicaciones tipo DATA WAREHOUSE.

Otra cosa que se pude hacer es agregar un índice por la columna que utilizas en el operador LIKE y poner algo en la primer posición del lado del criterio de búsqueda.

Ejemplo

columna NOMBRE = "JUAN PEREZ"

supongamos que necesitas buscar "PEREZ", para que te utilice el índcie deberías hacer

WHERE NOMBRE LIKE "J____PEREZ" si no pones la J no te utiliza el índice y hace un FULLl SCAN.

Esto (hasta donde se) solo funciona con columnas tipo alafanuméricas.

Esto son los métodos que yo probe pero puede que existan otros mejores te aconsejo que busques mas información en internet.

Saludos.