Re: Will hundred of thousands of this type of query cause Parsing issue - Mailing list pgsql-general

From Greg Sabino Mullane
Subject Re: Will hundred of thousands of this type of query cause Parsing issue
Date
Msg-id CAKAnmmKbnPSpzJ45N5314=nFDUtsAjwVPkxLCm87v_3qs9z09A@mail.gmail.com
Whole thread Raw
In response to Will hundred of thousands of this type of query cause Parsing issue  ("Wong, Kam Fook (TR Technology)" <kamfook.wong@thomsonreuters.com>)
List pgsql-general
On Fri, Sep 13, 2024 at 11:35 AM Wong, Kam Fook (TR Technology) <kamfook.wong@thomsonreuters.com> wrote:

1) Where does query parsing occur?


Always on the server side, although your driver may do something as well.

2) Will this cause extra parsing to the posgress DB?


Yes
 

  Any pg system table to measure parsing?


No

You want to send an array of values to the same query, so it can be prepared once, like so:

SELECT abc, efg
FROM docloc a
JOIN collection b USING (collection_name)
WHERE a.column1 = ANY($1)
AND a.stage_id = (
  select max(stage_id) from collection_pit c
  where c.collection_name = a.collection_name
  and c.pid_id < $2 and c.stage_code = $3
);

Then you can always pass in three arguments, the first being an array of all the column1 values you want.

You might also want to get familiar with plan_cache_mode: https://www.postgresql.org/docs/current/sql-prepare.html

Cheers,
Greg

pgsql-general by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: Functionally dependent columns in SELECT DISTINCT
Next
From: yudhi s
Date:
Subject: Re: Manual query vs trigger during data load