In the last 14 months I delivered a dozen of presentations covering the In-Memory Column Store. During many of them, I spent most of the time showing the audience several demos. The aim of this post is to share with you the scripts and a recording (MP4) of those demos. Warning about Demos The recordings […]
Exadata Storage Index Min/Max Optimization
Before discussing the Exadata-specific feature, let’s review what the database engine can do independently of whether Exadata is used. To execute queries containing the min or max functions efficiently, two specific operations are available with B-tree indexes defined on the column referenced in the min or max function. The first, INDEX FULL SCAN (MIN/MAX), is […]
The Importance of the In-Memory DUPLICATE Clause for a RAC System
With the INMEMORY clause you can specify 4 sub-clauses: The MEMCOMPRESS clause specifies whether and how compression is used The PRIORITY clause specifies the priority (“order”) in which the segments are loaded when the IMCS is populated The DISTRIBUTE clause specifies how data is distributed across RAC instances The DUPLICATE clause specifies whether and how […]
System Statistics Gathered in Exadata Mode – When Are They Relevant?
The aim of this post isn’t to explain what the “exadata mode” is. Hence, if you don’t know what it is, before continuing reading have a look to this post published on Kerry Osborne’s blog. The only thing I would like to add is that the “exadata mode” is available as of 11.2.0.4 or when […]
Exadata Storage Server and the Query Optimizer – Part 4
When I started writing the series of posts about Exadata Storage Server and the query optimizer, I didn’t expect to write more than three posts (part 1, part 2, part 3). Of course, things change. Hence, here is part 4 to cover a couple of things that I learned in the last couple of months. […]
How Good Are the Values Returned by DBMS_COMPRESSION.GET_COMPRESSION_RATIO?
According to the documentation the GET_COMPRESSION_RATIO procedure of the DBMS_COMPRESSION package can be used to assess the impact of different compression options for a given table. In other words, it allows us to find out the expected compression ratio for a given set of data without having to really create a compressed table. The question […]
Exadata Storage Server and the Query Optimizer – Part 3
In the first and second post of this series I shared with you some basics about smart scan and gave some details about projection and restriction. The aim of this post is to cover the third basic technique: join filtering. Join filtering is not something specific to the Exadata Storage Server. In fact, it is […]
Exadata Storage Server and the Query Optimizer – Part 2
In the first post of this series I shared with you some basics about smart scan and gave some details about projection. The aim of this post is to cover the second basic technique: restriction. Simply put, the aim of this technique is to offload to a cell the processing of predicates found in the […]
Exadata Storage Server and the Query Optimizer – Part 1
Even though the utilization of an Exadata Storage Server should be transparent for the query optimizer, when you look at execution plans generated in an environment using it you might notice slight differences. The purpose of this series of post is to summarize the differences I was able to observe. Disclaimer: I do not have […]