alisvo.dev DBA
#Oracle #SQL #Optimization

Some Oracle Query Optimization Tips

Practical query optimization tips for Oracle Database, including REGEXP_LIKE and table collection functions.

AS
Ali Sağırvelioğulları
Senior Database Administrator
1 dk okuma

Tip 1: Using REGEXP_LIKE (Oracle 11g+)

Instead of chaining multiple LIKE statements with OR:

Before (Inefficient):

SELECT * FROM table_name 
WHERE col LIKE '%x%' OR col LIKE '%y%' OR col LIKE '%z%';

After (Optimized):

SELECT * FROM table_name 
WHERE REGEXP_LIKE(col, 'x|y|z');

Tip 2: Generating In-Memory Row Sets

Instead of chaining multiple UNION ALL statements:

Before (Verbose):

SELECT 'abc' FROM dual
UNION ALL
SELECT 'bcd' FROM dual
UNION ALL
SELECT 'xyz' FROM dual;

After (Compact):

SELECT COLUMN_VALUE 
FROM TABLE(sys.odcivarchar2tolist('abc', 'bcd', 'xyz'));