Postgres v13, on Redhat8 RHEL8.4 It's a prepared sql statement on a non-partitioned table , 16millions tuples  and multiple indexes on this table. pk_xxxxx  primary key (aid,bid,btype) all 3 cols are bigint datatype, another index idx_xxxxx(starttime,endtime) , both cols are "timestamp(0) without time zone".     the data distribution is skewed, not even. with first 5 times execution custom_plan, optimizer choose primary key, but when it start building generic plan and choose another index idx_xxxx, obviously generic plan make significant different rows and cost estimation. SQL text: UPDATE "xxxx"."xxxxx" set "bid" = $1::numeric::int8,"opentime" = $2,"lastmodifiedtime" = $3 where "aid" = $4::numeric::int8 AND "bid" = $5::numeric::int8 AND "btype" = $6::numeric::int8 AND "password" IS NULL AND "starttime" = $7 AND "endtime" = $8 AND .... --with custom_plan Update on xxxxx (cost=0.56..8.60 rows=1 width=2923) (actual time=0.030..0.031 rows=0 loops=1) Buffers: shared hit=4 -> Index Scan using pk_xxxxx on xxxxxxx (cost=0.56..8.60 rows=1 width=2923) (actual time=0.028..0.028 rows=0 loops=1) Index Cond: ((aid = '14654072'::bigint) AND (bid = '243379969878556159'::bigint) AND (btype = '0'::bigint)) Filter: ((password IS NULL) AND ...) AND (starttime = '2071-12-31 00:00:00'::timestamp without time zone) AND (endtime = '2072-01-01 00:00:00'::timestamp without time zone) AND (opentime = '2022-11-07 09: 40:26'::timestamp without time zone) Buffers: shared hit=4 Planning Time: 1.575 ms Execution Time: 0.123 ms --after 5 times exeution, it start to build generic plan Update on xxxxx (cost=0.44..8.48 rows=1 width=2923) (actual time=8136.243..8136.245 rows=0 loops=1) Buffers: shared hit=1284549 -> Index Scan using idx_xxxxx_time on xxxxx (cost=0.44..8.48 rows=1 width=2923) (actual time=8136.242..8136.242 rows=0 loops=1) Index Cond: ((starttime = $7) AND (endtime = $8)) Filter: ((password IS NULL) AND ...(aid = $4) AND (bid = $5) AND (btype = $6) AND... Rows Removed by Filter: 5534630 Buffers: shared hit=1284549 Planning Time: 0.754 ms Execution Time: 8136.302 ms index_stats from pg_class relname | relpages | reltuples | relallvisible | relispopulated | relreplident | relispartition | relrewrite | relfrozenxid | relmin mxid -----------------------------+----------+---------------+---------------+----------------+--------------+----------------+------------+--------------+------- ----- idx_xxxxx_time | 23157 | 2.1920316e+07 | 0 | t | n | f | 0 | 0 | 0 pk_xxxxx | 116004 | 2.1920316e+07 | 0 | t | n | f | 0 | 0 | 0 idx_xxxxx_time column stats pg_stats schemaname | xxxxx tablename | xxxxx attname | starttime inherited | f null_frac | 0 avg_width | 8 n_distinct | 5778 most_common_vals | {"2071-12-31 00:00:00","2072-12-31 00:00:00","2070-12-31 00:00:00","2071-12-31 06:00:00","2069-12-31 00:00:00","2071-12-30 23:00:00" ,"2070-12-30 23:00:00","2072-12-31 01:00:00","2070-12-31 12:00:00","2072-12-30 23:00:00","2071-12-31 12:00:00","2071-12-30 19:30:00","2072-12-31 12:00:00","2 071-12-31 01:00:00","2072-12-31 06:00:00","2071-12-30 17:00:00","2071-12-31 09:00:00","2068-12-31 00:00:00","2070-12-31 01:00:00","2071-12-30 22:00:00","2072 -12-30 17:00:00","2072-12-31 09:00:00","2072-12-30 22:00:00","2071-12-31 07:00:00","2022-11-03 09:00:00","2022-09-13 07:00:00","2022-09-22 08:00:00","2022-10 -05 08:00:00","2022-10-24 08:00:00","2022-10-27 07:00:00","2022-11-03 10:00:00","2071-12-31 04:00:00","2022-11-04 09:00:00","2072-12-30 19:30:00","2072-12-31 04:00:00","2021-07-20 12:00:00","2022-09-01 08:00:00","2022-09-07 08:00:00","2022-09-26 11:00:00","2022-09-29 08:00:00","2022-10-11 08:00:00","2022-10-14 09 :00:00","2022-10-25 08:30:00","2022-10-26 08:00:00","2022-11-07 13:00:00","2022-09-07 07:00:00","2022-09-08 09:00:00","2022-09-27 07:00:00","2022-10-21 08:00 :00","2022-10-28 08:00:00","2022-11-03 08:00:00","2022-11-04 08:00:00","2070-12-30 22:00:00","2021-09-01 09:00:00","2022-08-11 09:00:00","2022-08-31 08:00:00 ","2022-09-02 09:00:00","2022-09-13 08:00:00","2022-09-20 13:00:00","2022-09-21 12:00:00","2022-09-22 12:00:00","2022-10-10 12:00:00","2022-10-19 11:00:00"," 2022-10-27 08:00:00","2022-11-08 09:00:00","2072-12-31 07:00:00","2021-07-19 12:00:00","2022-08-10 11:00:00","2022-08-10 12:00:00","2022-08-16 08:00:00","202 2-08-25 07:00:00","2022-08-25 08:00:00","2022-09-05 09:00:00","2022-09-09 12:00:00","2022-09-14 12:00:00","2022-09-20 09:00:00","2022-09-30 08:00:00","2022-1 0-10 08:00:00","2022-10-12 07:00:00","2022-10-12 09:00:00","2022-10-13 08:00:00","2022-10-18 12:00:00","2022-10-25 09:00:00","2022-10-26 07:30:00","2022-10-2 8 11:00:00","2069-12-30 23:00:00","2070-12-31 11:00:00","2021-06-22 07:00:00","2021-08-27 09:00:00","2021-09-02 13:00:00","2022-08-09 09:00:00","2022-08-11 0 8:00:00","2022-08-11 11:00:00","2022-08-16 12:00:00","2022-08-23 08:00:00","2022-08-26 08:00:00","2022-08-29 09:00:00","2022-08-31 07:30:00","2022-09-02 07:0 0:00","2022-09-07 13:00:00"} most_common_freqs | {0.26266667,0.21486667,0.092766665,0.009333333,0.008,0.0045333332,0.0032,0.0030666667,0.0029333334,0.0027,0.0025,0.0018,0.0017666667 ,0.0014666667,0.0014666667,0.0012,0.0011666666,0.0010666667,0.0010333334,0.001,0.0009,0.00076666666,0.0007,0.00066666666,0.0006,0.00053333334,0.0005,0.0005,0 .0005,0.0005,0.0005,0.0005,0.00046666668,0.00046666668,0.00046666668,0.00043333333,0.00043333333,0.00043333333,0.00043333333,0.00043333333,0.00043333333,0.00 043333333,0.00043333333,0.00043333333,0.00043333333,0.0004,0.0004,0.0004,0.0004,0.0004,0.0004,0.0004,0.0004,0.00036666667,0.00036666667,0.00036666667,0.00036 666667,0.00036666667,0.00036666667,0.00036666667,0.00036666667,0.00036666667,0.00036666667,0.00036666667,0.00036666667,0.00036666667,0.00033333333,0.00033333 333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333 ,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.0003,0.0003,0.0003,0.0003,0.0003,0.0003,0. 0003,0.0003,0.0003,0.0003,0.0003,0.0003,0.0003} histogram_bounds | {"2008-05-22 04:59:00","2021-06-07 15:30:00","2021-06-09 11:00:00","2021-06-11 09:00:00","2021-06-15 08:30:00","2021-06-16 14:30:00" ,"2021-06-21 06:30:00","2021-06-23 06:00:00","2021-06-24 12:00:00","2021-06-28 11:05:00","2021-06-30 09:00:00","2021-07-02 07:30:00","2021-07-06 10:30:00","2 021-07-08 09:25:00","2021-07-12 11:00:00","2021-07-14 09:10:00","2021-07-16 11:30:00","2021-07-21 07:00:00","2021-07-23 11:30:00","2021-07-28 08:00:00","2021 -07-30 06:55:00","2021-08-03 11:00:00","2021-08-05 12:00:00","2021-08-09 16:00:00","2021-08-12 11:00:00","2021-08-17 08:00:00","2021-08-19 07:45:00","2021-08 -23 08:00:00","2021-08-25 08:30:00","2021-08-27 11:00:00","2021-08-31 11:30:00","2021-09-02 12:30:00","2021-09-07 07:00:00","2021-09-09 07:00:00","2021-09-13 10:00:00","2021-09-17 16:15:00","2021-10-25 11:35:00","2022-05-12 11:00:00","2022-08-02 11:00:00","2022-08-09 09:30:00","2022-08-11 06:00:00","2022-08-12 13 :30:09","2022-08-16 13:10:00","2022-08-18 08:30:00","2022-08-19 13:00:00","2022-08-23 07:00:00","2022-08-24 12:00:00","2022-08-26 06:30:00","2022-08-29 11:00 :00","2022-08-30 14:00:00","2022-09-01 09:30:00","2022-09-03 07:00:36","2022-09-06 08:30:00","2022-09-07 12:30:00","2022-09-08 16:00:00","2022-09-12 07:30:00 ","2022-09-13 10:30:00","2022-09-14 11:20:00","2022-09-15 11:05:00","2022-09-16 12:00:00","2022-09-19 12:00:00","2022-09-20 20:17:49","2022-09-22 08:30:00"," 2022-09-23 09:30:00","2022-09-26 13:00:00","2022-09-27 12:27:36","2022-09-28 14:15:00","2022-09-30 06:30:00","2022-10-03 15:00:00","2022-10-05 07:30:00","202 2-10-06 09:00:00","2022-10-07 12:30:00","2022-10-11 00:06:10","2022-10-12 07:15:05","2022-10-13 10:00:00","2022-10-14 11:00:00","2022-10-17 11:30:00","2022-1 0-18 12:15:00","2022-10-19 12:00:00","2022-10-20 13:00:00","2022-10-21 13:30:00","2022-10-24 14:00:00","2022-10-25 14:30:11","2022-10-27 05:00:00","2022-10-2 8 06:30:00","2022-10-31 11:30:00","2022-11-02 09:00:00","2022-11-03 08:30:00","2022-11-04 06:00:00","2022-11-07 07:00:00","2022-11-07 15:30:00","2022-11-09 0 8:00:00","2022-11-10 12:00:00","2022-11-14 14:00:00","2022-11-18 12:00:00","2022-11-30 11:00:00","2022-12-27 07:00:00","2069-12-31 12:00:00","2070-12-31 07:0 0:00","2071-12-31 02:00:00","2072-12-31 13:00:00"} correlation | 0.284717 most_common_elems | most_common_elem_freqs | elem_count_histogram | schemaname | xxxxx tablename | xxxxx attname | endtime inherited | f null_frac | 0 avg_width | 8 n_distinct | 6606 most_common_vals | {"2072-01-01 00:00:00","2073-01-01 00:00:00","2071-01-01 00:00:00","2071-12-31 00:50:00","2071-12-31 06:50:00","2070-01-01 00:00:00" ,"2072-12-31 00:40:00","2071-01-01 12:00:00","2073-01-01 01:00:00","2072-01-01 12:00:00","2072-12-31 23:00:00","2071-12-31 23:00:00","2070-12-31 00:00:00","2 071-12-30 23:50:00","2071-12-31 19:30:00","2073-01-01 12:00:00","2069-12-31 12:00:00","2072-01-01 01:00:00","2073-01-01 06:00:00","2071-12-31 17:00:00","2070 -12-31 23:00:00","2068-12-31 12:00:00","2071-01-01 01:00:00","2071-12-31 22:00:00","2072-12-31 17:00:00","2072-01-01 06:00:00","2072-12-31 22:00:00","2072-01 -01 07:00:00","2072-01-01 09:00:00","2071-12-31 09:50:00","2022-09-13 09:00:00","2022-10-25 09:00:00","2072-01-01 04:00:00","2022-09-22 09:00:00","2022-11-03 09:30:00","2022-11-03 10:00:00","2022-11-08 10:00:00","2072-12-31 19:30:00","2073-01-01 04:00:00","2022-11-03 11:00:00","2022-11-04 10:00:00","2072-12-31 09 :50:00","2021-07-20 13:00:00","2022-08-29 10:00:00","2022-09-15 09:00:00","2022-10-26 10:00:00","2070-12-31 22:00:00","2072-12-31 01:40:00","2022-09-02 10:00 :00","2022-09-20 10:00:00","2022-09-22 13:00:00","2022-10-11 09:00:00","2022-10-12 10:00:00","2022-10-14 09:00:00","2022-10-18 14:00:00","2022-10-20 10:00:00 ","2022-10-27 10:00:00","2022-11-02 11:00:00","2022-11-02 15:00:00","2073-01-01 07:00:00","2022-09-07 10:00:00","2022-09-08 09:30:00","2022-09-21 13:00:00"," 2022-09-26 13:00:00","2022-09-30 09:00:00","2022-10-06 09:00:00","2022-10-10 12:30:00","2022-10-13 09:00:00","2022-10-13 14:00:00","2022-10-14 09:30:00","202 --More-- 2-10-19 10:00:00","2022-10-24 12:00:00","2022-10-26 08:00:00","2022-10-26 09:00:00","2022-10-28 09:00:00","2022-11-07 09:00:00","2071-01-01 11:00:00","2071-1 2-31 00:00:00","2072-12-31 00:50:00","2021-06-24 13:00:00","2022-08-11 10:00:00","2022-08-25 09:00:00","2022-09-07 09:00:00","2022-09-08 09:00:00","2022-09-0 9 10:00:00","2022-09-21 08:00:00","2022-09-23 09:00:00","2022-09-26 12:00:00","2022-09-27 10:00:00","2022-09-29 09:00:00","2022-10-04 09:00:00","2022-10-04 1 0:00:00","2022-10-05 10:00:00","2022-10-11 08:00:00","2022-10-18 13:00:00","2022-10-21 08:30:00","2022-10-21 10:00:00","2022-10-26 13:00:00","2022-10-28 10:0 0:00","2022-11-02 14:00:00"} most_common_freqs | {0.2536,0.20986667,0.092766665,0.0090666665,0.0086,0.0065333336,0.0046,0.0029333334,0.0026666666,0.0025,0.0024333333,0.0023333333,0. 0020666667,0.0018666667,0.0018,0.0017666667,0.0015333333,0.0014333334,0.0013333333,0.0012,0.0011333333,0.0010666667,0.0010333334,0.001,0.0009,0.00073333335,0 .0007,0.00066666666,0.0006,0.00056666665,0.00053333334,0.00053333334,0.0005,0.00046666668,0.00046666668,0.00046666668,0.00046666668,0.00046666668,0.000466666 68,0.00043333333,0.00043333333,0.00043333333,0.0004,0.0004,0.0004,0.0004,0.0004,0.0004,0.00036666667,0.00036666667,0.00036666667,0.00036666667,0.00036666667, 0.00036666667,0.00036666667,0.00036666667,0.00036666667,0.00036666667,0.00036666667,0.00036666667,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.0 0033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.00033333333,0.0003 3333333,0.00033333333,0.00033333333,0.00033333333,0.0003,0.0003,0.0003,0.0003,0.0003,0.0003,0.0003,0.0003,0.0003,0.0003,0.0003,0.0003,0.0003,0.0003,0.0003,0. 0003,0.0003,0.0003,0.0003,0.0003,0.0003} histogram_bounds | {"2008-05-22 05:59:00","2021-06-08 06:30:00","2021-06-09 12:20:00","2021-06-11 11:00:00","2021-06-15 11:30:00","2021-06-17 08:00:00" ,"2021-06-21 09:00:00","2021-06-23 08:00:00","2021-06-24 14:00:00","2021-06-28 14:30:00","2021-06-30 12:20:00","2021-07-02 12:00:00","2021-07-07 07:30:00","2 021-07-08 12:45:00","2021-07-12 15:30:00","2021-07-14 15:30:00","2021-07-19 11:00:00","2021-07-21 10:00:00","2021-07-26 09:30:00","2021-07-28 13:00:00","2021 -07-30 12:30:00","2021-08-04 08:00:00","2021-08-06 08:00:00","2021-08-10 15:00:00","2021-08-13 08:30:00","2021-08-17 12:30:00","2021-08-19 14:30:00","2021-08 -24 07:20:00","2021-08-26 07:50:00","2021-08-30 09:30:00","2021-09-01 08:45:00","2021-09-03 07:30:00","2021-09-07 11:30:00","2021-09-09 12:30:00","2021-09-14 08:00:00","2021-09-22 09:30:00","2021-11-25 15:00:00","2022-06-07 12:30:00","2022-08-08 08:00:00","2022-08-09 14:30:00","2022-08-11 07:00:00","2022-08-12 11 :30:00","2022-08-16 10:00:00","2022-08-17 21:30:00","2022-08-19 09:00:00","2022-08-22 14:00:00","2022-08-24 07:30:00","2022-08-25 10:00:00","2022-08-28 11:36 :10","2022-08-30 09:20:00","2022-08-31 12:30:00","2022-09-01 13:30:00","2022-09-05 08:09:00","2022-09-06 10:35:00","2022-09-07 14:00:00","2022-09-08 20:36:10 ","2022-09-12 09:00:00","2022-09-13 11:00:00","2022-09-14 12:00:00","2022-09-15 12:30:00","2022-09-16 13:30:00","2022-09-19 14:00:00","2022-09-21 00:00:00"," 2022-09-22 10:00:00","2022-09-23 13:30:00","2022-09-27 07:30:00","2022-09-27 15:15:00","2022-09-29 08:45:00","2022-09-30 10:45:00","2022-10-04 08:30:00","202 2-10-05 14:00:00","2022-10-07 06:00:00","2022-10-10 09:30:00","2022-10-11 13:00:00","2022-10-12 14:00:00","2022-10-13 19:15:00","2022-10-17 08:00:00","2022-1 0-18 09:00:00","2022-10-19 11:00:00","2022-10-20 12:30:00","2022-10-21 13:45:00","2022-10-24 14:00:00","2022-10-25 14:05:00","2022-10-27 07:10:00","2022-10-2 8 04:30:00","2022-10-31 10:45:00","2022-11-02 09:30:00","2022-11-03 10:55:00","2022-11-04 09:00:00","2022-11-07 09:30:00","2022-11-08 08:00:00","2022-11-09 1 2:00:00","2022-11-10 17:00:00","2022-11-15 10:30:00","2022-11-22 09:45:00","2022-12-05 23:00:00","2023-01-31 14:30:00","2070-05-01 13:58:39","2071-02-20 17:4 4:52","2072-02-18 13:59:59","2073-01-01 13:00:00"} correlation | 0.28662655 most_common_elems | most_common_elem_freqs | elem_count_histogram |