Star Schema Design in Oracle: Partitioning
Partitioning is one of the most powerful features for data warehouses in Oracle databases. In this blog post, I explain how it can be used for the physical design of star schemas. What is the recommended partitioning strategy for a star schema, and what are…
Star Schema Design in Oracle: Fundamentals
What are the design rules for good performance in a star schema in an Oracle database? This blog post series introduces some recommendations for the physical database design. This first post is about constraints and indexes. For the last few years, I was supporting one…
Book Review: “Faster: How to Optimize a System” by Cary Millsap
There are many books on performance optimization, but this one differs in a few ways. It is more of an entertaining collection of short stories, but with many educational messages. My travel plans for the Kscope22 conference in June this year were suboptimal: My return…
Housekeeping in Oracle: How to Get Rid of Old Data
Have you ever tried to delete a few million rows from a table with several hundred milllions of rows with a DELETE statement? If yes, then you know that this is a very bad idea. With Oracle Partitioning you can do this more elegant and…
NVMes write back vs. write through performance
Recently I was running some benchmarks to double-check that the performance of AMD EPYCs servers delivered by Company A, match the performance of those delivered by Company B. I was using our benchmark automation tool (about which I may write a bit more in the…
Performance Tips: PL/SQL Functions in SQL Queries
PL/SQL functions in SQL statements may cause major performance problems. If it is not possible to avoid these calls, there are several solutions to improve the performance. But not for all situations. In my last blog post, I wrote about the impact of function calls in…
Performance Tips: Function Calls in WHERE Conditions
A typical reason of many performance issues with SQL are function calls in the WHERE condition. They make it difficult for the query optimizer to determine the cardinality. Fortunately, there are several ways to solve this problem. Function calls – or any kind of SQL expressions…
Performance Comparison: Snowflake vs Oracle Autonomous Data Warehouse
Which data warehouse cloud platform is faster: Oracle Autonomous Data Warehouse or Snowflake Cloud Data Warehouse? The short answer: it depends. For a more detailed answer, read this blog post. Skiing is not recommended at the moment. Because of the current pandemic situation, it’s better…
Behind the Scenes: Preparing a Live Demo
One of the extensions in Oracle 20c is the possiblity to use the In-Memory Database option for Partitioned External Tables and Hybrid Partitioned Tables. In my opinion, this opens up many possibilities to perform efficient ad-hoc queries on Data Lakes. That’s why I prepared a…
AWS RDS IO Performance – What you really get!
2 configuration parameters affect the IO performance of your AWS RDS instance. The throughput is limited by the instance class and the number of IOPS is limited by the storage configuration. With provisioned IOPS (SSD) (short io1) it’s explicit, as you specify the limit during…