On Thu, Jun 27, 2024 at 11:20 AM aghart...@gmail.com <aghart...@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.