Mis estimados, tengo una tabla de clientes que por ahora cuenta con alrededor de 100 mil registros, y el tamaño se incrementara rapidamente, tengo un campo codigo cliente nvarchar(13), pero por lo general las busquedas que se realizan son por apellidos y nombres, como saben los usuarios mayormente escriben fracciones de dichos campos, a veces la primera letra tan solo, el primer apellido, lo caul hace que el tiempo de consulta sea extremadamente extenso, mi pregunta es, que recomendarian que haga para optimizar las consultas que de por si van a tomar su tiempo.
Les adjunto la estructura de mi tabla de clientes.
CodCliente varchar 13
TipoPersona int 4
ApellidoPaterno varchar 30
ApellidoMaterno varchar 30
ApellidoCasada varchar 30
Nombre varchar 30
Sexo char 1
EstadoCivil varchar 2
NroHijos int 4
Residente bit 1
RazonSocial varchar 100
Siglas varchar 30
TipoEmpresa varchar 2
PaginaWeb varchar 75
FechaNacimiento varchar 8
CodPais varchar 3
TelefonoDomicilio varchar 30
TelefonoCelular varchar 30
TelefonoTrabajo varchar 30
TelefonoReferencia varchar 30
Fax varchar 15
EmailPersonal varchar 40
EmailTrabajo varchar 40
CodCIIU varchar 5
CodSBS varchar 10
CalificacionSBS int 4
CondicionLaboral int 4
EmpresaGiroLaboral varchar 25
Observacion nvarchar 500
Estado int 4
FechaRegistro varchar 25
FechaActualizacion varchar 25
Cualquier sugerencia que venga de parte de ustedes, sera por demas agradecida de mi parte, aca les envio un ejemplo de busqueda.
caso ideal:
exec PERSONA_Get_Nombre @vchApellidoPaterno = 'ramos', @vchApellidoMaterno = 'sajami', @vchApellidoCasada = '', @vchNombre = 'marlon', @intIndEstado = 0
caso real:
exec PERSONA_Get_Nombre @vchApellidoPaterno = 'r', @vchApellidoMaterno = 's', @vchApellidoCasada = '', @vchNombre = '', @intIndEstado = 0
Como veran, solo consultan con las iniciales.
Pendiente de ustedes, me despido.
Saludos Cordiales,
Miguel