Re: A way to optimize sql about the last temporary-related row - Mailing list pgsql-general

From agharta82@gmail.com
Subject Re: A way to optimize sql about the last temporary-related row
Date
Msg-id fa4d471f-a13a-4153-9ed7-52be9c0774b8@gmail.com
Whole thread Raw
In response to Re: A way to optimize sql about the last temporary-related row  (Ron Johnson <ronljohnsonjr@gmail.com>)
Responses Re: A way to optimize sql about the last temporary-related row
List pgsql-general

Hi,

You are right. Too quickly copy-paste on my part :-)

I take this opportunity to add a NOT insignificant detail.

Before executing the select query I clear the cache:

systemctl stop postgresql-16 && sync && echo 3 > /proc/sys/vm/drop_caches  &&  systemctl start postgresql-16

I need to get a performance result even if data is not in cache.


My best regards,

Agharta


Il 27/06/24 5:27 PM, Ron Johnson ha scritto:
On Thu, Jun 27, 2024 at 11:20 AM agharta82@gmail.com <agharta82@gmail.com> wrote:
[snip] 
-- insert 4M records
insert into test_table(pk_id) select generate_series(1,4000000,1);

-- now set some random data, distribuited between specific ranges (as in
my production table)
update test_table set
datetime_field_1 = timestamp '2000-01-01 00:00:00' + random() *
(timestamp '2024-05-31 23:59:59' - timestamp '2000-01-01 00:00:00'),
integer_field_1 = floor(random() * (6-1+1) + 1)::int,
integer_field_2 = floor(random() * (200000-1+1) + 1)::int;


-- indexes
CREATE INDEX idx_test_table_integer_field_1 ON test_table(integer_field_1);
CREATE INDEX xtest_table_datetime_field_1 ON test_table(datetime_field_1
desc);
CREATE INDEX idx_test_table_integer_field_2 ON test_table(integer_field_2);


Off-topic: save some resources by vacuuming before creating indices.
 

pgsql-general by date:

Previous
From: Dhritman Roy
Date:
Subject: dblink Future support vs FDW
Next
From: "David G. Johnston"
Date:
Subject: Re: A way to optimize sql about the last temporary-related row