Query Optimization in Oracle 12c Database In-Memory

Traditional on disk row major tables have been the dominant storage mechanism in relational databases for decades. Over the last decade, however, with explosive growth in data volume and demand for faster analytics, has come the recognition that a different data representation is needed. There is widespread agreement that in-memory column-oriented databases are best suited to meet the realities of this new world. Oracle 12c Database In-memory, the industry’s first dual-format database, allows existing row major on-disk tables to have complementary in-memory columnar representations. The new storage format brings new data processing techniques and query execution algorithms and thus new challenges for the query optimizer. Execution plans that are optimal for one format may be sub-optimal for the other. In this paper, we describe the changes made in the query optimizer to generate execution plans optimized for the specific format – row major or columnar – that will be scanned during query execution. With enhancements in several areas – statistics, cost model, query transformation, access pat h and join optimization, parallelism, and cluster - awareness – the query optimizer plays a significant role in unlocking the full promise and performance of Oracle Database In-Memory.

Published in:
Proceedings of the Vldb Endowment International Conference on Very Large Data Bases, 8, 12, 1770-1781

 Record created 2015-08-24, last modified 2018-01-28

Rate this document:

Rate this document:
(Not yet reviewed)