Although this won't help anyone solve the immediate problem immediately,
this issue would be addressed by DERBY-455 (expression indexes).
Regards,
-Rick
Craig L Russell wrote:
If you are concerned about performance, please note that there is a
huge difference between these two statements:
1. SELECT * FROM CITY_INFO WHERE UPPER(?) = CITY_NAME
and
2. SELECT * FROM CITY_INFO WHERE ? = UPPER(CITY_NAME)
Query 1 will work if your data is already upper case. You can do an
index scan of the table very quickly.
If your data is stored in mixed case, you need query 2, and this will
need to do a table scan because there is no index on the UPPER
(CITY_NAME) values. [AFAIK there is no way to implement such an index
on the column. So the index needs to be created with the upper case
names. If you need mixed case in the database, you might need another
column just for the upper case index.
Craig
On Apr 26, 2006, at 8:52 AM, Bryan Pendleton wrote:
Is there a way to bypass this, so when querying the database it
does not look at uppercases or lowercases. è Detroit = detroit =
dEtRoIt = …
Try using the UPPER function:
select * from city_info where UPPER(city_name) = 'DETROIT';
thanks,
bryan