FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
busqueda de un nombre en una tabla
Hola deseo buscar un cliente en una base de datos grande, digitando solo la primera letra de su apellido y que aparezcan todos los que comienzan con esa letra , cual es la forma mas eficiente?
Atte Cmena gracias |
#4
|
||||
|
||||
Cita:
// Saludos |
#5
|
|||
|
|||
Cita:
|
#6
|
||||
|
||||
Hablando de eficiencia... si usas Interbase/Firebird, y pasas la letra como parámetro de la forma:
el motor no usará un indice definido sobre el nombre, sino recorerá todos los registros de la tabla. Esto es debido a que el plan se determina antes de conocer el valor del parámetro. Es mas eficiente una clausula starts with:
donde el valor de parametro debiera ser solamente 'M' (sin porcentajes). Aqui si que se usará el indice; claro, siempre que esté definido... Aclaro que esto es válido para Interbase. No doy fe de otros motores, salvo de Oracle, que entiendo que utilizaría el indice si el parámetro es del tipo 'M%'. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|