Optimizar un like
Hola a todos mi consulta es la siguiente:
Se puede optimizar una query de busqueda cuando tiene un condicionante like, ?
Se puede optimizar una query de busqueda cuando tiene un condicionante like, ?
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.
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.
