![]() | |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hi, I have a complex query which uses a regular expression. *Is it possible to somehow create an index or something to speed up the queries? *We're on 10g. *I've read a bit about Oracle Text but not sure if that is for us.... * * 'SELECT * FROM ( * * * *SELECT ticker, comp_name FROM ( * * * * *SELECT ticker, comp_name, 1 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BY ticker) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(ticker), ''^' || *p_pattern|| ''') * * * * *UNION * * * * *SELECT ticker, comp_name, 2 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BY comp_name) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(comp_name), ''^' || p_pattern|| '| ' || p_pattern || ''') * * * * *) * * * *ORDER BY ord * * * *) * * WHERE rownum <= ' || p_num_recs; Thank you. |
#3
| |||
| |||
|
|
Hi, I have a complex query which uses a regular expression. *Is it possible to somehow create an index or something to speed up the queries? *We're on 10g. *I've read a bit about Oracle Text but not sure if that is for us.... * * 'SELECT * FROM ( * * * *SELECT ticker, comp_name FROM ( * * * * *SELECT ticker, comp_name, 1 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BY ticker) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(ticker), ''^' || *p_pattern|| ''') * * * * *UNION * * * * *SELECT ticker, comp_name, 2 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BY comp_name) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(comp_name), ''^' || p_pattern|| '| ' || p_pattern || ''') * * * * *) * * * *ORDER BY ord * * * *) * * WHERE rownum <= ' || p_num_recs; Thank you. |
#4
| |||
| |||
|
|
Hi, I have a complex query which uses a regular expression. *Is it possible to somehow create an index or something to speed up the queries? *We're on 10g. *I've read a bit about Oracle Text but not sure if that is for us.... * * 'SELECT * FROM ( * * * *SELECT ticker, comp_name FROM ( * * * * *SELECT ticker, comp_name, 1 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BY ticker) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(ticker), ''^' || *p_pattern|| ''') * * * * *UNION * * * * *SELECT ticker, comp_name, 2 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BY comp_name) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(comp_name), ''^' || p_pattern|| '| ' || p_pattern || ''') * * * * *) * * * *ORDER BY ord * * * *) * * WHERE rownum <= ' || p_num_recs; Thank you. |
#5
| |||
| |||
|
|
Hi, I have a complex query which uses a regular expression. *Is it possible to somehow create an index or something to speed up the queries? *We're on 10g. *I've read a bit about Oracle Text but not sure if that is for us.... * * 'SELECT * FROM ( * * * *SELECT ticker, comp_name FROM ( * * * * *SELECT ticker, comp_name, 1 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BY ticker) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(ticker), ''^' || *p_pattern|| ''') * * * * *UNION * * * * *SELECT ticker, comp_name, 2 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BY comp_name) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(comp_name), ''^' || p_pattern|| '| ' || p_pattern || ''') * * * * *) * * * *ORDER BY ord * * * *) * * WHERE rownum <= ' || p_num_recs; Thank you. |
#6
| |||
| |||
|
|
Hi, I have a complex query which uses a regular expression. *Is it possible to somehow create an index or something to speed up the queries? *We're on 10g. *I've read a bit about Oracle Text but not sure if that is for us.... * * 'SELECT * FROM ( * * * *SELECTticker, comp_name FROM ( * * * * *SELECTticker, comp_name, 1 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BYticker) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(ticker), ''^' || *p_pattern|| ''') * * * * *UNION * * * * *SELECTticker, comp_name, 2 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BY comp_name) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(comp_name), ''^' || p_pattern|| '| ' || p_pattern || ''') * * * * *) * * * *ORDER BY ord * * * *) * * WHERE rownum <= ' || p_num_recs; |
#7
| |||
| |||
|
|
Hi, I have a complex query which uses a regular expression. *Is it possible to somehow create an index or something to speed up the queries? *We're on 10g. *I've read a bit about Oracle Text but not sure if that is for us.... * * 'SELECT * FROM ( * * * *SELECTticker, comp_name FROM ( * * * * *SELECTticker, comp_name, 1 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BYticker) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(ticker), ''^' || *p_pattern|| ''') * * * * *UNION * * * * *SELECTticker, comp_name, 2 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BY comp_name) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(comp_name), ''^' || p_pattern|| '| ' || p_pattern || ''') * * * * *) * * * *ORDER BY ord * * * *) * * WHERE rownum <= ' || p_num_recs; |
#8
| |||
| |||
|
|
Hi, I have a complex query which uses a regular expression. *Is it possible to somehow create an index or something to speed up the queries? *We're on 10g. *I've read a bit about Oracle Text but not sure if that is for us.... * * 'SELECT * FROM ( * * * *SELECTticker, comp_name FROM ( * * * * *SELECTticker, comp_name, 1 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BYticker) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(ticker), ''^' || *p_pattern|| ''') * * * * *UNION * * * * *SELECTticker, comp_name, 2 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BY comp_name) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(comp_name), ''^' || p_pattern|| '| ' || p_pattern || ''') * * * * *) * * * *ORDER BY ord * * * *) * * WHERE rownum <= ' || p_num_recs; |
#9
| |||
| |||
|
|
Hi, I have a complex query which uses a regular expression. *Is it possible to somehow create an index or something to speed up the queries? *We're on 10g. *I've read a bit about Oracle Text but not sure if that is for us.... * * 'SELECT * FROM ( * * * *SELECTticker, comp_name FROM ( * * * * *SELECTticker, comp_name, 1 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BYticker) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(ticker), ''^' || *p_pattern|| ''') * * * * *UNION * * * * *SELECTticker, comp_name, 2 ord, ROW_NUMBER() * * * * *OVER (PARTITION BY DECODE(ticker,NULL,1,0) ORDER BY comp_name) cnt * * * * *FROM master_table * * * * *WHERE REGEXP_LIKE (UPPER(comp_name), ''^' || p_pattern|| '| ' || p_pattern || ''') * * * * *) * * * *ORDER BY ord * * * *) * * WHERE rownum <= ' || p_num_recs; |
![]() |
| Thread Tools | |
| Display Modes | |
| |