04. 06. 2021.

Hybernate FetchType Eager performance issue

Quite recently I had one interesting case related to the quality of code generated by the Hybernate, in which I developed code which runs 25 thousand times faster than the code generated by the framework.   It’s well known when you decide to use any framework to speed up code development process, you silently agree […]

04. 05. 2021.

Tuning Connection pool in modern Microservice architecture

Connection pool has always been a great way to ensure a low latency when establishing connection with a database, while at the same time keeping the number of open sessions under control. It’s one of the best ways to balance speed with resource consumption. With connection pool in place, connection is already established and ready […]

06. 10. 2020.

Perfect case for NoSQL database

On many sites where I’ve been involved in troubleshooting and performance tuning, I can find usage of wrong technology for a wrong use case. Usually client technology experts are keen with some new features of some technology and want to solve all kind of problems by using it. In practice, new features are added to […]

24. 09. 2020.

How to setup Adobe Flash Support in Browser for Linux

Some vendors still relies on Adobe Flash for rich web contents. One such example is Oracle, where you can find that all tuning reports are generated by using Flash. Even Oracle Enterprise Manager Grid, main Oracle monitoring tool still uses Adobe Flash to generate its content. If you are on Windows, you can use Internet […]

10. 05. 2020.

Customer experience on Oracle Db – One metric to rule them all

Over the years I’ve found that almost every enterprise monitoring software I’ve been working with so far (and there are a few dozen of them), put extensive load on targets under the monitoring. While one monitoring tool brings extensive hard parsing on its targets, another one calculates free space for each tablespace in a very […]

18. 03. 2020.

String aggregation – part II

Last time I’ve suggested two ways of how to perform string concatenation. Unfortunately, both approaches have serious drawbacks that you might experience. In this post I’ll explain one approach which is not Oracle version dependent, which corrects both shortcomings of previously described methods: size of concatenated string speed of data processing Part I you can […]

17. 03. 2020.

String aggregation – part I

Very often you’ll find delimited text to be more suitable format option instead of splitting text in many rows. Typical use cases for having delimited text includes preparation of data for further analysis, reporting, importing data into the spreadsheet etc. To demonstrate the concept, I’ll use my demo table TEST with 10 million rows. And […]

21. 02. 2020.

External C procedures – how to setup and performance boost you can expect

In this post I’ll explain what you need to do to setup external C procedure call with Oracle 18c. I’ll also show for a CPU intensive task, what performance boost you might expect. For those of you who remember how difficult it was to configure LISTENER and TNSNAMES to work with C external procedures, will […]

13. 01. 2020.

Descending Index type – performance and limitations

The main topic of this article is the DESC index type, which is often mixed-up with the Btree index type because of the great similarity they share when looking at the index creation syntax. “Raison d’etre” for having DESC index type is to avoid expensive sorting when you are sure you’ll always query and sort […]

07. 01. 2020.

Oracle database links – performance impact

In this post I’m going to explain the most important drawbacks when using db links technology for purposes for which it is not design for. To be more precise, the case in which db links are used to massively exchange data between many separate databases will be explained. In the previous post you can find […]