PrepareStatement and parameters data types

From: ihab sabiq <sabiq(dot)ihab(at)hotmail(dot)fr>
To: "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: PrepareStatement and parameters data types
Date: 2023-08-09 12:01:57
Message-ID: DU0P192MB1615DEF3058031F8018F175BFE12A@DU0P192MB1615.EURP192.PROD.OUTLOOK.COM
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello,

I was doing some experimenting to try and reduce the execution time of a query used in a PreparedStatement. To do that, I normally use the Prepare and Execute statements of Postgresql. What I notice is that explicit casting has a considerable performance impact. So using the good data types in the Prepare and avoid casting gives much better performance. My questions are :

* Does the implementation of PreparedStatment in Postgresql driver uses the Prepare and Execute?
* If so why I cannot see the Prepare and the parameters type in the logs if not how can I simulate the same mechanism from the command line?
* Is it possible to avoid explicit casting without getting the error could not determine data type of parameter?

The query is bit complex on large tables but the main part is : where cast($1 as text) is null or cast($2 as text) is null or ( date_field < cast(cast($3 as text) as date) and date_field > cast(cast($4 as text) as date) )

Thanks for your help.

Sabiq

Browse pgsql-general by date

  From Date Subject
Next Message Stephen Frost 2023-08-09 15:43:42 Re: PostgreSQL 14.8 - server fails to start even though all transaction logs with base backup are restored
Previous Message Meera Nair 2023-08-09 10:19:09 RE: PostgreSQL 14.8 - server fails to start even though all transaction logs with base backup are restored