Thanks Michael. Appreciate your suggestions.
On Mon, Jun 13, 2011 at 11:51 AM, Michael Moore <michaeljmo...@gmail.com>wrote: > you might try reposting the question to ORACLE-L More people will read > your question there. > > http://www.orafaq.com/wiki/Oracle-l > > > > On Mon, Jun 13, 2011 at 11:37 AM, gayathri Dev <gd0...@gmail.com> wrote: > >> good one. But not sure if adding another column would be accepted, as >> it might have to under go lot of pre-processing to already existing >> transactional records. >> >> Is there any other work around? >> >> >> >> On Sat, Jun 11, 2011 at 12:54 PM, Michael Moore < >> michaeljmo...@gmail.com> wrote: >> >>> How about if you create another column in your table which always has >>> the upper case of the name? >>> >>> >>> On Sat, Jun 11, 2011 at 10:04 AM, gayathri Dev <gd0...@gmail.com>wrote: >>> >>>> I tried creating ctxsys.context Index, but since query is using UPPER >>>> it was still making full table scan. >>>> And I was not let to create function based ctxsys.context Index...:( >>>> >>>> >>>> >>>> On Sat, Jun 11, 2011 at 8:14 AM, Michael Moore < >>>> michaeljmo...@gmail.com> wrote: >>>> >>>>> Would Oracle Text do it for you? >>>>> >>>>> http://download.oracle.com/docs/cd/B10500_01/text.920/a96517/cdefault.htm >>>>> >>>>> >>>>> On Fri, Jun 10, 2011 at 9:08 PM, gayathri Dev <gd0...@gmail.com>wrote: >>>>> >>>>>> Thanks for the solution David. >>>>>> >>>>>> But this query is a part of Dynamic SQL that gets generated by PL/SQL >>>>>> block. >>>>>> and the string can be any thing else. ABC was just an example i gave. >>>>>> >>>>>> Please suggest. >>>>>> >>>>>> >>>>>> Regards, >>>>>> G. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Jun 10, 2011 at 4:50 PM, ddf <orat...@msn.com> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Jun 10, 4:28 pm, gayathri Dev <gd0...@gmail.com> wrote: >>>>>>> > Hi All, >>>>>>> > >>>>>>> > I have following query : >>>>>>> > >>>>>>> > SELECT EMP_NAME FROM EMP >>>>>>> > WHERE UPPER(EMP_NAME) LIKE '%ABC%'; >>>>>>> > >>>>>>> > CREATE INDEX IX_NAME ON >>>>>>> > emp(UPPER(EMP_NAME)); >>>>>>> > Looks like using the meta character (%) both leading and trailing >>>>>>> would not >>>>>>> > use the index and go for Full table scan. >>>>>>> > >>>>>>> > Pls advise how can i optimize above query. >>>>>>> > >>>>>>> > Thanks in advance, >>>>>>> > G >>>>>>> >>>>>>> >>>>>>> SQL> create index ix_name on >>>>>>> 2 emp(instr(ename, 'ABC')); >>>>>>> >>>>>>> Index created. >>>>>>> >>>>>>> SQL> select * from emp >>>>>>> 2 where instr(ename, 'ABC') > 0 >>>>>>> 3 / >>>>>>> >>>>>>> EMPNO ENAME JOB MGR HIREDATE SAL >>>>>>> COMM DEPTNO >>>>>>> ---------- ---------- --------- ---------- --------- ---------- >>>>>>> ---------- ---------- >>>>>>> 7783 BLABCO MANAGER 7839 09-JUN-81 >>>>>>> 2450 10 >>>>>>> >>>>>>> >>>>>>> Execution Plan >>>>>>> ---------------------------------------------------------- >>>>>>> Plan hash value: 3587740764 >>>>>>> >>>>>>> >>>>>>> --------------------------------------------------------------------------------------- >>>>>>> | Id | Operation | Name | Rows | Bytes | Cost >>>>>>> (%CPU)| Time | >>>>>>> >>>>>>> --------------------------------------------------------------------------------------- >>>>>>> | 0 | SELECT STATEMENT | | 1 | 87 | >>>>>>> 2 (0)| 00:00:01 | >>>>>>> | 1 | TABLE ACCESS BY INDEX ROWID| EMP | 1 | 87 | >>>>>>> 2 (0)| 00:00:01 | >>>>>>> |* 2 | INDEX RANGE SCAN | IX_NAME | 1 | | >>>>>>> 1 (0)| 00:00:01 | >>>>>>> >>>>>>> --------------------------------------------------------------------------------------- >>>>>>> >>>>>>> Predicate Information (identified by operation id): >>>>>>> --------------------------------------------------- >>>>>>> >>>>>>> 2 - access(INSTR("ENAME",'ABC')>0) >>>>>>> >>>>>>> Note >>>>>>> ----- >>>>>>> - dynamic sampling used for this statement >>>>>>> >>>>>>> >>>>>>> Statistics >>>>>>> ---------------------------------------------------------- >>>>>>> 0 recursive calls >>>>>>> 0 db block gets >>>>>>> 2 consistent gets >>>>>>> 0 physical reads >>>>>>> 0 redo size >>>>>>> 826 bytes sent via SQL*Net to client >>>>>>> 385 bytes received via SQL*Net from client >>>>>>> 2 SQL*Net roundtrips to/from client >>>>>>> 0 sorts (memory) >>>>>>> 0 sorts (disk) >>>>>>> 1 rows processed >>>>>>> >>>>>>> SQL> >>>>>>> >>>>>>> >>>>>>> David Fitzjarrell >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "Oracle PL/SQL" group. >>>>>>> To post to this group, send email to Oracle-PLSQL@googlegroups.com >>>>>>> To unsubscribe from this group, send email to >>>>>>> oracle-plsql-unsubscr...@googlegroups.com >>>>>>> For more options, visit this group at >>>>>>> http://groups.google.com/group/Oracle-PLSQL?hl=en >>>>>>> >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Oracle PL/SQL" group. >>>>>> To post to this group, send email to Oracle-PLSQL@googlegroups.com >>>>>> To unsubscribe from this group, send email to >>>>>> oracle-plsql-unsubscr...@googlegroups.com >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/group/Oracle-PLSQL?hl=en >>>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Oracle PL/SQL" group. >>>>> To post to this group, send email to Oracle-PLSQL@googlegroups.com >>>>> To unsubscribe from this group, send email to >>>>> oracle-plsql-unsubscr...@googlegroups.com >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/Oracle-PLSQL?hl=en >>>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Oracle PL/SQL" group. >>>> To post to this group, send email to Oracle-PLSQL@googlegroups.com >>>> To unsubscribe from this group, send email to >>>> oracle-plsql-unsubscr...@googlegroups.com >>>> For more options, visit this group at >>>> http://groups.google.com/group/Oracle-PLSQL?hl=en >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Oracle PL/SQL" group. >>> To post to this group, send email to Oracle-PLSQL@googlegroups.com >>> To unsubscribe from this group, send email to >>> oracle-plsql-unsubscr...@googlegroups.com >>> For more options, visit this group at >>> http://groups.google.com/group/Oracle-PLSQL?hl=en >>> >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Oracle PL/SQL" group. >> To post to this group, send email to Oracle-PLSQL@googlegroups.com >> To unsubscribe from this group, send email to >> oracle-plsql-unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/Oracle-PLSQL?hl=en >> > > -- > You received this message because you are subscribed to the Google > Groups "Oracle PL/SQL" group. > To post to this group, send email to Oracle-PLSQL@googlegroups.com > To unsubscribe from this group, send email to > oracle-plsql-unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/Oracle-PLSQL?hl=en > -- You received this message because you are subscribed to the Google Groups "Oracle PL/SQL" group. To post to this group, send email to Oracle-PLSQL@googlegroups.com To unsubscribe from this group, send email to oracle-plsql-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Oracle-PLSQL?hl=en