Re: Improving performance of select query - Mailing list pgsql-general

From Thomas Kellerer
Subject Re: Improving performance of select query
Date
Msg-id b9277405-f578-bab1-2d4b-ad46d60f8b8b@gmx.net
Whole thread Raw
In response to Improving performance of select query  (Karthik Shivashankar <kshivashank@sandvine.com>)
Responses Re: Improving performance of select query
List pgsql-general
Karthik Shivashankar schrieb am 14.12.2020 um 12:38:
> I have a postgres(v9.5) table named customer holding 1 billion rows.
> It is not partitioned but it has an index against the primary key
> (integer). I need to keep a very few records (say, about 10k rows)
> and remove everything else.
>
> /insert into customer_backup select * from customer where customer_id in (<id1>,<id2>,..); /
>
>  
>
> If I go for something like above I'm afraid the insert-select may take a very long time as when I ran
>
> /select count(*) from customer;/
>
> it is taking about 45 minutes to return the count.

Well, you need to compare the time with the same condition you use in your
CREATE TABLE .. AS SELECT statement,

e.g.:

   select count(*)
   from customer
   where id in (....);

Or:

   explain (analyze)
   select *
   from customer
   where id in (....);


Regards
Thomas



pgsql-general by date:

Previous
From: Karthik Shivashankar
Date:
Subject: Improving performance of select query
Next
From: Michael Lewis
Date:
Subject: Mitigating impact of long running read-only queries