One of the biggest advantages of using jOOQ is that you can change all of your complex application's generated SQL with just a few lines of code. In this article, we'll look into how to solve some common bind peeking issues just like that, without touching your application code, without the need to explain this … Continue reading How to Prevent Execution Plan Troubles when Querying Skewed Data, with jOOQ
Tag: execution plans
Use IN List Padding to Your JDBC Application to Avoid Cursor Cache Contention Problems
A problem few developers are aware of is the possibility of running into "cursor cache contention" or "execution plan cache contention" problems when using IN lists in SQL. The problem that is described in lengths in previous articles, can be summarised as this. All of these are distinct SQL queries and need to be parsed … Continue reading Use IN List Padding to Your JDBC Application to Avoid Cursor Cache Contention Problems
How to Fetch Multiple Oracle Execution Plans in One Nice Query
When looking at execution plans in Oracle, we'll have to do several steps to be able to call the DBMS_XPLAN package functions. In fact, we have to find out the SQL_ID for a given statement first, and only then we can get its plan. I've blogged about this previously, here. However, thanks to lateral unnesting, … Continue reading How to Fetch Multiple Oracle Execution Plans in One Nice Query
How to Quickly Rename all Primary Keys in Oracle
Are you working with someone else's schema and they haven't declared nice names for all their constraints? Unfortunately, it is all too easy to create a table like this: CREATE TABLE order1 ( order_id NUMBER(18) NOT NULL PRIMARY KEY ); Or like this: CREATE TABLE order2 ( order_id NUMBER(18) NOT NULL, PRIMARY KEY (order_id) ); … Continue reading How to Quickly Rename all Primary Keys in Oracle
How to get Oracle execution plans with Starts, E-Rows, A-Rows and A-Time columns
This can probably be found elsewhere as well, but here's a short wrap-up how to get the most out of your execution plans, quickly 1. Be sure the actual rows and time statistics are collected. You can do this with -- login as user sys alter system set statistics_level = all; 2. Execute your bad … Continue reading How to get Oracle execution plans with Starts, E-Rows, A-Rows and A-Time columns