Tengo una consulta donde yo estoy buscando en contra de una cadena:Base de datos de índice insensible a las mayúsculas y minúsculas?
SELECT county FROM city WHERE UPPER(name) = 'SAN FRANCISCO';
Ahora bien, esto funciona bien, pero no escala bien, y necesito para optimizarlo. Tengo found an option en la línea de crear una vista generada, o algo así, pero esperaba una solución más simple usando un índice.
Estamos utilizando DB2, y realmente quiero utilizar un expression in an index, pero esta opción parece estar disponible solo en z/OS, sin embargo, estamos ejecutando Linux. Probé el índice de expresión de todos modos:
CREATE INDEX city_upper_name_idx
ON city UPPER(name) ALLOW REVERSE SCANS;
Pero por supuesto, se ahoga en el UPPER (nombre).
¿Hay alguna otra manera en que pueda crear un índice o algo similar de esta manera para no tener que reestructurar mis consultas existentes para usar una nueva vista generada, o alterar mis columnas existentes, o cualquier otro cambio intrusivo ?
EDIT: Estoy abierto a soluciones para otras bases de datos de oír ... que podría llevar a DB2 ...
Desafortunadamente, DB2/LUW aún no lo tiene, pero probablemente provenga de que DB2/z sí lo tiene. – paxdiablo