Performance tuning is not only about rewriting SQL. In Oracle, query speed is strongly influenced by the data structures the optimizer can use to access and filter data efficiently. These structures determine whether Oracle can satisfy a query with fast index access paths, or whether it must fall back to expensive operations such as large-table full scans, disk sorts, and high-volume I/O.
This concept is still required in Oracle Database 23ai. Even with modern automation (SQL plan management features, advisors, and improved instrumentation), the cost-based optimizer can only choose efficient plans when the physical design gives it good options. Index choice, index type, and data representation directly shape access paths, join methods, and sort requirements.
The tuning objective is simple: design structures that let Oracle avoid unnecessary full-table scans and large disk sorts when servicing common queries.
In modern designs, you will also see JSON used for certain multivalued or document-style attributes. Oracle’s direction increasingly emphasizes “relational storage with JSON views” for document access patterns, but object-relational collections continue to exist as first-class types for specific use cases.
The next lesson begins the detailed review of these data structures and connects each one to common performance outcomes, such as reduced logical reads, fewer physical reads, improved join efficiency, and reduced sort pressure.
By the time you finish this module, you will be able to:
Databases exist to collect, store, and retrieve related information to meet business requirements. Oracle provides both traditional relational structures and optional object-relational structures. The tuning skill is knowing which structures accelerate your dominant access patterns—and which ones introduce complexity or overhead without measurable benefit.
Nested tables and VARRAYs are Oracle collection data types. They remain supported and are most commonly used in PL/SQL, object-relational designs, and specialized schemas that benefit from strongly typed collections.
Key differences:
From a performance perspective, the important questions are: how often you query individual elements, how large the collection can grow, and whether you need indexes on collection elements. When element-level querying and indexing matters, a conventional relational child table (or a carefully designed nested table implementation) is usually more predictable than “packing” values into a single row.
In later lessons, you will connect these structures back to tuning fundamentals: access paths, join strategies, cardinality estimation, and the practical impact of your physical design on query plans.