Обсуждение: PrepareStatement and parameters data types

Поиск
Список
Период
Сортировка

PrepareStatement and parameters data types

От
ihab sabiq
Дата:
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 :  cast($1 as text) is null or cast($2 as text) is null or ( field < cast(cast($3 as text) as date) and field > cast(cast($4 as text) as date) )

Thanks for your help.

Sabiq