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…
Finding Wrong Hints
Introduction I use the Oracle Database since many years. And I use hints. For experiments, but also in production code. There are cases when you know more than the Oracle Database. For example about the cardinality of a data source or the number of result…
GraalVM Native Image – First Impressions
Introduction A native image is an operating system specific executable file. You can build such an image for basically every application running on a Java virtual machine. This approach promises faster start-up times and lower resource consumptions. This makes it appealing for serverless computing, auto-scaling…
Lightweight Formatter for PL/SQL & SQL
TL;DR Bye bye heavyweight formatter. Long live the lightweight formatter. Are you using Oracle’s SQL Developer or SQLcl? Then install these settings and press Ctrl-F7 to produce code that conforms to the Trivadis PL/SQL & SQL Coding Style. A compromise between conformity and individuality. Heavyweight…
SQL Tuning Golf, anyone?
Golf is one of the very few sports where the goal is the lowest possible score. Code golf is about solving a given algorithm using the fewest possible characters. It can be very fun indeed to play code golf, also in SQL. But for real…
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…
Formatter Callback Functions
Introduction In this blog post I explained how the formatter in SQL Developer works and outlined how you can change the formatter result using Arbori and JavaScript. In this post I explain what exactly the provided formatter callback functions do. For that I use simple…
Patching SQL Developer 20.2 with SQLcl’s Formatter
Introduction SQLcl 20.3.0 was released on October 29, 2020. It’s the first time I remember that we have a SQLcl version without the corresponding SQL Developer version. This is a pity because this SQLcl version also contains formatter fixes. And formatting code is something I…
Navigation in Large PL/SQL Code
Are you editing large PL/SQL code in SQL Developer? Have you noticed that sometimes you cannot navigate to a declaration anymore? No Ctrl-Click under Windows. No Command-Click under macOS. In this blog post I explain the reason and how to fix that in SQL Developer…