Hi Tim,
I am going to ask you something weird, but I really have to, sorry if you find this post crazy. Developers in my company want to use FUNCTION BASED INDEXES in some queries for one application, so I read some documentations and sent them links about this feature. Then they came back to me with a query and they created a function-based index on all the columns in the WHERE clause like below.
The query:
SELECT DISTINCT DCF_DOCUMENT_ID
FROM DOCUMENT_FIELD
WHERE DCF_DOCUMENT_ID = 123456789
AND DCF_TYPE = 18018
AND UPPER(DCF_VALUE) LIKE UPPER('%DHA%');
The index:
CREATE INDEX IDX_DOCUMENT_FIELD_004 ON DOCUMENT_FIELD (DCF_DOCUMENT_ID, DCF_TYPE, UPPER(DCF_VALUE)) TABLESPACE TBS_INDX;
Then after reading documents about function-based indexes, I came back to them and told them that function-based indexes couldn't be created like composite indexes with more than 1 column in the index. They replied to me that it was possible and it would work. But first time I see that. I have looked in the Oracle documentation, and also in one of your page and I haven't found anything about function-based indexes created on more than 1 column like above.
Could you tell me if the creation of this index is correct? If so do you have some link that could show how to create them correctly?
Thanks in advance
Regards
Patrick