~/devreads

#bind variables

6 posts

4 Jun 2021

lukaseder 1 min read

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…

jooq-in-usebind parametersbind peekingbind variablesbinding

13 Apr 2018

lukaseder 1 min read

In a previous blog post, I wrote about why you should (almost) always default to using bind variables. There are some exceptions, which I will cover in another follow-up post, but by default, bind variables are the right choice, both from a performance and from a security perspective. In this article, I will show an … Continue reading When Using…

sqlbind variablescursor cachedynamic sqlexecution plan cache

12 Apr 2018

lukaseder 1 min read

A common problem with dynamic SQL is parsing performance in production. What makes matters worse is that many developers do not have access to production environments, so they are unaware of the problem (even if there’s nothing new about this topic). What exactly is the problem? Execution plan caches Most database vendors these days ship … Continue reading Why SQL…

sqlbind valuesbind variablescursor cacheexecution plan cache

30 May 2017

lukaseder 1 min read

Users of jOOQ, PL/SQL, T-SQL are spoiled as they hardly ever need to worry about bind values. Consider the following statements: Using jOOQ The method parameters firstName and lastName will be automatically mapped to bind values in the generated SQL statement. Here’s the debug log output when running the above, where the first statement is … Continue reading When to…

sqlbind parametersbind variableshibernateinline values

30 Mar 2017

lukaseder 1 min read

Hah! Got nerd-sniped again: https://stackoverflow.com/questions/43099226/how-to-make-jooq-to-use-arrays-in-the-in-clause/43102102 A jOOQ user was wondering why jOOQ would generate an IN list for a predicate like this: Java SQL … when in fact there could have been the following predicate being generated, instead: In the second case, there would have been only one single bind variable instead of 4, and … Continue reading SQL IN…

sqlarraysbind variablescursor cacheexecution plan cache

22 Dec 2014

lukaseder 1 min read

We all know that Oracle’s DATE is not really a date as in the SQL standard, or as in all the other databases, or as in java.sql.Date. Oracle’s DATE type is really a TIMESTAMP(0), i.e. a timestamp with a fractional second precision of zero. Most legacy databases actually use DATE precisely for that, to store … Continue reading Are You…

sqlbind variable castingbind variablescastdate