SQL Practice Logo

SQLPractice Online

Oracle Features Deep Dive: Performance

Module: Database-Specific Features

**1. PL/SQL Performance**: Procedures compiled and cached, 3-5x faster than ad-hoc SQL. Bulk operations (FORALL, BULK COLLECT) process arrays instead of row-by-row (10-100x faster).

**2. RAC Scalability**: Horizontal scaling by adding instances. However, cache fusion overhead for shared data. Best for read-heavy workloads.

**3. Partitioning**: Partition pruning scans only relevant partitions (10-100x faster). Parallel DML across partitions. Easier maintenance (drop old partitions).

**4. Materialized Views**: Pre-computed aggregations (100-500x faster). Query rewrite is automatic. Trade-off: Storage overhead and refresh cost.

**5. Optimizer**: Cost-based optimizer with 30+ years of refinement. Consistently outperforms other databases on complex queries. Keep statistics updated (DBMS_STATS).

**6. Licensing Costs**: $47,500 per CPU + 22% annual support. RAC, partitioning, and advanced features require Enterprise Edition. This is why cloud-native companies prefer PostgreSQL/MySQL.

PL/SQL procedures are compiled and cached - 3-5x faster than ad-hoc SQL

Partition pruning scans only relevant partitions - 10-100x faster for large tables

Materialized views with query rewrite - 100-500x faster for complex aggregations

Parallel query across partitions - 4-8x faster with PARALLEL hint

Bulk operations (FORALL) - 10-100x faster than row-by-row processing

Local indexes on partitioned tables - better performance than global indexes

Partition-wise joins - joins partitions independently, enables parallelism

Drop old partitions instead of DELETE - instant vs hours for large tables

Using ROWNUM for pagination - assigned before ORDER BY, use FETCH FIRST instead

Not updating statistics - optimizer makes poor decisions with stale statistics

Global indexes on partitioned tables - maintenance overhead, use local indexes

Not using FOR UPDATE in transactions - race conditions in concurrent updates

Row-by-row processing instead of bulk operations - 10-100x slower

Partitioning without Enterprise Edition - partitioning requires expensive Enterprise Edition license

Not considering RAC overhead - cache fusion overhead for write-heavy workloads

Ignoring licensing costs - $47,500 per CPU + 22% annual support