Buenas tardes, Resulta que tengo una función que realiza varias validaciones, inserciones etc. Una de ellas es realizar búsqueda por like a una tabla. Básicamente tengo dos tablas "alumno" y "persona", a cada alumno se debe buscar en la tabla persona, y para ello solo contamos con nombres y apellidos (nombre completo, es decir en un solo campo y campos separados, es decir nombre1, nombre2, apellido1, apellido2), por lo que inicialmente procedemos a buscar por "=", considerando mayusculas, minusculas, caracteres especiales, si eso no emite resultado procedemos a buscar por like en los campos separados, y si nuevamente no emite resultados, se realiza nuevamente la búsqueda por like en el campo que contiene el nombre y apellido completo.
La tabla persona en la que se realiza la búsqueda tiene aproximadamente 580000 registros. Probé con indices btree, y también leí acerca de varchar_pattern_ops, pero con éste ultimo no es posible utilizar "es igual", por lo que no me resulta. Tal cual como se encuentra ahora por 50 registros tarda 6 minutos aproximadamente, lo cual es mas que excesivo. Alguna idea? Desde ya, gracias. Ana Ramirez.-
