
Mejorar Consulta en MysQL
Publicado por victor perez (137 intervenciones) el 15/02/2013 19:50:52
Estimados Amigos,
Realizo una Consulta con la siguiente informacion;
_BUSCAME=ALLTRIM(THIS.Value)
_BUSCAME2=ALLTRIM(THISFORM.PGFFICHA.PAGE4.TXTBAPE.Value)
_KEY="NOMBRES LIKE '%&_BUSCAME%' AND APELLIDOS LIKE '%&_BUSCAME2%' "
Luego ejecuto un Filtro que tiene las sentencias;
Thisform.conecta
SQLEXEC(lnhandle,"Select * from patient where &_key","_Base")
SQLDISCONNECT(lnhandle)
Cuando es un solo campo el buscado (codigo, nombre, apellidos, cedula, etc)..es rapidisimo...Pero cuando son dos campos toma hasta 4 seg en encontrar los resultados de una base de datos de 35,000 expedientes.
Tengo la base de datos indexada para codigo, apellidos, nombres, expediente y para (apellidos + nombres).
Al introducir la busqueda para el nombre y apellido, lo primero que se introduce es el Apellido y luego el nombre (parcial o completo).
Alguna sugerencia para aumentar la velocidad de busqueda...
Gracias...
Realizo una Consulta con la siguiente informacion;
_BUSCAME=ALLTRIM(THIS.Value)
_BUSCAME2=ALLTRIM(THISFORM.PGFFICHA.PAGE4.TXTBAPE.Value)
_KEY="NOMBRES LIKE '%&_BUSCAME%' AND APELLIDOS LIKE '%&_BUSCAME2%' "
Luego ejecuto un Filtro que tiene las sentencias;
Thisform.conecta
SQLEXEC(lnhandle,"Select * from patient where &_key","_Base")
SQLDISCONNECT(lnhandle)
Cuando es un solo campo el buscado (codigo, nombre, apellidos, cedula, etc)..es rapidisimo...Pero cuando son dos campos toma hasta 4 seg en encontrar los resultados de una base de datos de 35,000 expedientes.
Tengo la base de datos indexada para codigo, apellidos, nombres, expediente y para (apellidos + nombres).
Al introducir la busqueda para el nombre y apellido, lo primero que se introduce es el Apellido y luego el nombre (parcial o completo).
Alguna sugerencia para aumentar la velocidad de busqueda...
Gracias...
Valora esta pregunta


0