![]() |
Í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. |
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. |
Utiliza un juego de caracteres no case. Sigue este hilo...
http://www.clubdelphi.com/foros/show...3259#post13820 Saludos |
Tambien puedes usar CONTAINING en lugar del LIKE
Código:
SELECT * FROM tabla WHERE campo CONTAINING 'subcadena' |
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. ;) |
La franja horaria es GMT +2. Ahora son las 23:50:01. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi