FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Índices mayúsculas/minúsculas
Hola, en Firebird tengo entendido que los índices son sensibles a mayúsculas/minúsculas. La cuestión es que si yo almaceno en una tabla un campo de tipo varchar sobre el que defino un índice, cuando realice una consulta del tipo
Código:
select * from tabla where upper(campo) like ":valor)" Salu2. Última edición por sur-se fecha: 17-09-2004 a las 12:53:48. |
#2
|
|||
|
|||
Hola, amplio la consulta. He estado realizando pruebas y efectivamente al poner el upper(campo) deja de utilizar el índice (se puede ver en el plan que va a utilizar la query). Esto supone un problema, pues me va a obligar a tener todo en mayúsculas/minúsculas para que las búsquedas sean rápidas. No sé si existe alguna opción de los índices en Firebird 1.5 que permita que sea insensible a may/min.
Una opción podría ser tener un campo repetido, pero todo en mayúsculas (por ejemplo) de forma que el índice iría por ese campo y las búsquedas se harían por él, pero el usuario vería el otro campo en el que se puede escribir may/min. Pero esta solución me parece un poco mala. No sé si hay otra. Salu2. |
#3
|
||||
|
||||
Utiliza un juego de caracteres no case. Sigue este hilo...
http://www.clubdelphi.com/foros/show...3259#post13820 Saludos |
#4
|
|||
|
|||
Tambien puedes usar CONTAINING en lugar del LIKE
Código:
SELECT * FROM tabla WHERE campo CONTAINING 'subcadena' |
#5
|
||||
|
||||
Hola gendelphi.
Me gustaria, si es posible, que nos explicaras cual es la ventaja, en este caso, de usar containing y no like? Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|