-- a lookup of 500 keys of a column the heap holds in no order (the correlation of id is under 0.05): the scattered heap pages the lookup reads are the cost -- label: `count(*), sum(v) WHERE id = ANY of 500 ids` over a heap in the order of a hash of id, `point_tid_columns = 'id'`; the variant `btree` is a b-tree on id, the variant `serial` the same rows indexed by one process (one segment, no participants) -- ordered: yes --@ setup DROP TABLE IF EXISTS ps; CREATE TABLE ps AS SELECT g::int AS id, (g % 1000)::int AS v, (g % 97)::int AS w FROM generate_series(1, {rows}) g ORDER BY md5((g * 31 + 7)::text); CREATE INDEX ps_col ON ps USING sift_col (id, v, w) WITH (point_tid_columns = 'id'); CREATE SCHEMA c_point_scattered_500__btree; CREATE TABLE c_point_scattered_500__btree.ps AS TABLE ps; CREATE INDEX ps_bt ON c_point_scattered_500__btree.ps (id); VACUUM (FREEZE, ANALYZE, DISABLE_PAGE_SKIPPING) ps; VACUUM (FREEZE, ANALYZE, DISABLE_PAGE_SKIPPING) c_point_scattered_500__btree.ps; CREATE SCHEMA c_point_scattered_500__serial; CREATE TABLE c_point_scattered_500__serial.ps AS TABLE ps; SET max_parallel_maintenance_workers = 0; CREATE INDEX ps_col ON c_point_scattered_500__serial.ps USING sift_col (id, v, w) WITH (point_tid_columns = 'id'); RESET max_parallel_maintenance_workers; VACUUM (FREEZE, ANALYZE, DISABLE_PAGE_SKIPPING) c_point_scattered_500__serial.ps; DO $$ DECLARE c float8 := (SELECT correlation FROM pg_stats WHERE schemaname = 'c_events' AND tablename = 'ps' AND attname = 'id'); BEGIN IF c IS NULL OR abs(c) >= 0.05 THEN RAISE EXCEPTION 'the key follows the heap: correlation %', c; END IF; END $$; --@ pg SELECT count(*), sum(v) FROM ps WHERE id = ANY (ARRAY[(7919 % {rows} + 1), (15838 % {rows} + 1), (23757 % {rows} + 1), (31676 % {rows} + 1), (39595 % {rows} + 1), (47514 % {rows} + 1), (55433 % {rows} + 1), (63352 % {rows} + 1), (71271 % {rows} + 1), (79190 % {rows} + 1), (87109 % {rows} + 1), (95028 % {rows} + 1), (102947 % {rows} + 1), (110866 % {rows} + 1), (118785 % {rows} + 1), (126704 % {rows} + 1), (134623 % {rows} + 1), (142542 % {rows} + 1), (150461 % {rows} + 1), (158380 % {rows} + 1), (166299 % {rows} + 1), (174218 % {rows} + 1), (182137 % {rows} + 1), (190056 % {rows} + 1), (197975 % {rows} + 1), (205894 % {rows} + 1), (213813 % {rows} + 1), (221732 % {rows} + 1), (229651 % {rows} + 1), (237570 % {rows} + 1), (245489 % {rows} + 1), (253408 % {rows} + 1), (261327 % {rows} + 1), (269246 % {rows} + 1), (277165 % {rows} + 1), (285084 % {rows} + 1), (293003 % {rows} + 1), (300922 % {rows} + 1), (308841 % {rows} + 1), (316760 % {rows} + 1), (324679 % {rows} + 1), (332598 % {rows} + 1), (340517 % {rows} + 1), (348436 % {rows} + 1), (356355 % {rows} + 1), (364274 % {rows} + 1), (372193 % {rows} + 1), (380112 % {rows} + 1), (388031 % {rows} + 1), (395950 % {rows} + 1), (403869 % {rows} + 1), (411788 % {rows} + 1), (419707 % {rows} + 1), (427626 % {rows} + 1), (435545 % {rows} + 1), (443464 % {rows} + 1), (451383 % {rows} + 1), (459302 % {rows} + 1), (467221 % {rows} + 1), (475140 % {rows} + 1), (483059 % {rows} + 1), (490978 % {rows} + 1), (498897 % {rows} + 1), (506816 % {rows} + 1), (514735 % {rows} + 1), (522654 % {rows} + 1), (530573 % {rows} + 1), (538492 % {rows} + 1), (546411 % {rows} + 1), (554330 % {rows} + 1), (562249 % {rows} + 1), (570168 % {rows} + 1), (578087 % {rows} + 1), (586006 % {rows} + 1), (593925 % {rows} + 1), (601844 % {rows} + 1), (609763 % {rows} + 1), (617682 % {rows} + 1), (625601 % {rows} + 1), (633520 % {rows} + 1), (641439 % {rows} + 1), (649358 % {rows} + 1), (657277 % {rows} + 1), (665196 % {rows} + 1), (673115 % {rows} + 1), (681034 % {rows} + 1), (688953 % {rows} + 1), (696872 % {rows} + 1), (704791 % {rows} + 1), (712710 % {rows} + 1), (720629 % {rows} + 1), (728548 % {rows} + 1), (736467 % {rows} + 1), (744386 % {rows} + 1), (752305 % {rows} + 1), (760224 % {rows} + 1), (768143 % {rows} + 1), (776062 % {rows} + 1), (783981 % {rows} + 1), (791900 % {rows} + 1), (799819 % {rows} + 1), (807738 % {rows} + 1), (815657 % {rows} + 1), (823576 % {rows} + 1), (831495 % {rows} + 1), (839414 % {rows} + 1), (847333 % {rows} + 1), (855252 % {rows} + 1), (863171 % {rows} + 1), (871090 % {rows} + 1), (879009 % {rows} + 1), (886928 % {rows} + 1), (894847 % {rows} + 1), (902766 % {rows} + 1), (910685 % {rows} + 1), (918604 % {rows} + 1), (926523 % {rows} + 1), (934442 % {rows} + 1), (942361 % {rows} + 1), (950280 % {rows} + 1), (958199 % {rows} + 1), (966118 % {rows} + 1), (974037 % {rows} + 1), (981956 % {rows} + 1), (989875 % {rows} + 1), (997794 % {rows} + 1), (1005713 % {rows} + 1), (1013632 % {rows} + 1), (1021551 % {rows} + 1), (1029470 % {rows} + 1), (1037389 % {rows} + 1), (1045308 % {rows} + 1), (1053227 % {rows} + 1), (1061146 % {rows} + 1), (1069065 % {rows} + 1), (1076984 % {rows} + 1), (1084903 % {rows} + 1), (1092822 % {rows} + 1), (1100741 % {rows} + 1), (1108660 % {rows} + 1), (1116579 % {rows} + 1), (1124498 % {rows} + 1), (1132417 % {rows} + 1), (1140336 % {rows} + 1), (1148255 % {rows} + 1), (1156174 % {rows} + 1), (1164093 % {rows} + 1), (1172012 % {rows} + 1), (1179931 % {rows} + 1), (1187850 % {rows} + 1), (1195769 % {rows} + 1), (1203688 % {rows} + 1), (1211607 % {rows} + 1), (1219526 % {rows} + 1), (1227445 % {rows} + 1), (1235364 % {rows} + 1), (1243283 % {rows} + 1), (1251202 % {rows} + 1), (1259121 % {rows} + 1), (1267040 % {rows} + 1), (1274959 % {rows} + 1), (1282878 % {rows} + 1), (1290797 % {rows} + 1), (1298716 % {rows} + 1), (1306635 % {rows} + 1), (1314554 % {rows} + 1), (1322473 % {rows} + 1), (1330392 % {rows} + 1), (1338311 % {rows} + 1), (1346230 % {rows} + 1), (1354149 % {rows} + 1), (1362068 % {rows} + 1), (1369987 % {rows} + 1), (1377906 % {rows} + 1), (1385825 % {rows} + 1), (1393744 % {rows} + 1), (1401663 % {rows} + 1), (1409582 % {rows} + 1), (1417501 % {rows} + 1), (1425420 % {rows} + 1), (1433339 % {rows} + 1), (1441258 % {rows} + 1), (1449177 % {rows} + 1), (1457096 % {rows} + 1), (1465015 % {rows} + 1), (1472934 % {rows} + 1), (1480853 % {rows} + 1), (1488772 % {rows} + 1), (1496691 % {rows} + 1), (1504610 % {rows} + 1), (1512529 % {rows} + 1), (1520448 % {rows} + 1), (1528367 % {rows} + 1), (1536286 % {rows} + 1), (1544205 % {rows} + 1), (1552124 % {rows} + 1), (1560043 % {rows} + 1), (1567962 % {rows} + 1), (1575881 % {rows} + 1), (1583800 % {rows} + 1), (1591719 % {rows} + 1), (1599638 % {rows} + 1), (1607557 % {rows} + 1), (1615476 % {rows} + 1), (1623395 % {rows} + 1), (1631314 % {rows} + 1), (1639233 % {rows} + 1), (1647152 % {rows} + 1), (1655071 % {rows} + 1), (1662990 % {rows} + 1), (1670909 % {rows} + 1), (1678828 % {rows} + 1), (1686747 % {rows} + 1), (1694666 % {rows} + 1), (1702585 % {rows} + 1), (1710504 % {rows} + 1), (1718423 % {rows} + 1), (1726342 % {rows} + 1), (1734261 % {rows} + 1), (1742180 % {rows} + 1), (1750099 % {rows} + 1), (1758018 % {rows} + 1), (1765937 % {rows} + 1), (1773856 % {rows} + 1), (1781775 % {rows} + 1), (1789694 % {rows} + 1), (1797613 % {rows} + 1), (1805532 % {rows} + 1), (1813451 % {rows} + 1), (1821370 % {rows} + 1), (1829289 % {rows} + 1), (1837208 % {rows} + 1), (1845127 % {rows} + 1), (1853046 % {rows} + 1), (1860965 % {rows} + 1), (1868884 % {rows} + 1), (1876803 % {rows} + 1), (1884722 % {rows} + 1), (1892641 % {rows} + 1), (1900560 % {rows} + 1), (1908479 % {rows} + 1), (1916398 % {rows} + 1), (1924317 % {rows} + 1), (1932236 % {rows} + 1), (1940155 % {rows} + 1), (1948074 % {rows} + 1), (1955993 % {rows} + 1), (1963912 % {rows} + 1), (1971831 % {rows} + 1), (1979750 % {rows} + 1), (1987669 % {rows} + 1), (1995588 % {rows} + 1), (2003507 % {rows} + 1), (2011426 % {rows} + 1), (2019345 % {rows} + 1), (2027264 % {rows} + 1), (2035183 % {rows} + 1), (2043102 % {rows} + 1), (2051021 % {rows} + 1), (2058940 % {rows} + 1), (2066859 % {rows} + 1), (2074778 % {rows} + 1), (2082697 % {rows} + 1), (2090616 % {rows} + 1), (2098535 % {rows} + 1), (2106454 % {rows} + 1), (2114373 % {rows} + 1), (2122292 % {rows} + 1), (2130211 % {rows} + 1), (2138130 % {rows} + 1), (2146049 % {rows} + 1), (2153968 % {rows} + 1), (2161887 % {rows} + 1), (2169806 % {rows} + 1), (2177725 % {rows} + 1), (2185644 % {rows} + 1), (2193563 % {rows} + 1), (2201482 % {rows} + 1), (2209401 % {rows} + 1), (2217320 % {rows} + 1), (2225239 % {rows} + 1), (2233158 % {rows} + 1), (2241077 % {rows} + 1), (2248996 % {rows} + 1), (2256915 % {rows} + 1), (2264834 % {rows} + 1), (2272753 % {rows} + 1), (2280672 % {rows} + 1), (2288591 % {rows} + 1), (2296510 % {rows} + 1), (2304429 % {rows} + 1), (2312348 % {rows} + 1), (2320267 % {rows} + 1), (2328186 % {rows} + 1), (2336105 % {rows} + 1), (2344024 % {rows} + 1), (2351943 % {rows} + 1), (2359862 % {rows} + 1), (2367781 % {rows} + 1), (2375700 % {rows} + 1), (2383619 % {rows} + 1), (2391538 % {rows} + 1), (2399457 % {rows} + 1), (2407376 % {rows} + 1), (2415295 % {rows} + 1), (2423214 % {rows} + 1), (2431133 % {rows} + 1), (2439052 % {rows} + 1), (2446971 % {rows} + 1), (2454890 % {rows} + 1), (2462809 % {rows} + 1), (2470728 % {rows} + 1), (2478647 % {rows} + 1), (2486566 % {rows} + 1), (2494485 % {rows} + 1), (2502404 % {rows} + 1), (2510323 % {rows} + 1), (2518242 % {rows} + 1), (2526161 % {rows} + 1), (2534080 % {rows} + 1), (2541999 % {rows} + 1), (2549918 % {rows} + 1), (2557837 % {rows} + 1), (2565756 % {rows} + 1), (2573675 % {rows} + 1), (2581594 % {rows} + 1), (2589513 % {rows} + 1), (2597432 % {rows} + 1), (2605351 % {rows} + 1), (2613270 % {rows} + 1), (2621189 % {rows} + 1), (2629108 % {rows} + 1), (2637027 % {rows} + 1), (2644946 % {rows} + 1), (2652865 % {rows} + 1), (2660784 % {rows} + 1), (2668703 % {rows} + 1), (2676622 % {rows} + 1), (2684541 % {rows} + 1), (2692460 % {rows} + 1), (2700379 % {rows} + 1), (2708298 % {rows} + 1), (2716217 % {rows} + 1), (2724136 % {rows} + 1), (2732055 % {rows} + 1), (2739974 % {rows} + 1), (2747893 % {rows} + 1), (2755812 % {rows} + 1), (2763731 % {rows} + 1), (2771650 % {rows} + 1), (2779569 % {rows} + 1), (2787488 % {rows} + 1), (2795407 % {rows} + 1), (2803326 % {rows} + 1), (2811245 % {rows} + 1), (2819164 % {rows} + 1), (2827083 % {rows} + 1), (2835002 % {rows} + 1), (2842921 % {rows} + 1), (2850840 % {rows} + 1), (2858759 % {rows} + 1), (2866678 % {rows} + 1), (2874597 % {rows} + 1), (2882516 % {rows} + 1), (2890435 % {rows} + 1), (2898354 % {rows} + 1), (2906273 % {rows} + 1), (2914192 % {rows} + 1), (2922111 % {rows} + 1), (2930030 % {rows} + 1), (2937949 % {rows} + 1), (2945868 % {rows} + 1), (2953787 % {rows} + 1), (2961706 % {rows} + 1), (2969625 % {rows} + 1), (2977544 % {rows} + 1), (2985463 % {rows} + 1), (2993382 % {rows} + 1), (3001301 % {rows} + 1), (3009220 % {rows} + 1), (3017139 % {rows} + 1), (3025058 % {rows} + 1), (3032977 % {rows} + 1), (3040896 % {rows} + 1), (3048815 % {rows} + 1), (3056734 % {rows} + 1), (3064653 % {rows} + 1), (3072572 % {rows} + 1), (3080491 % {rows} + 1), (3088410 % {rows} + 1), (3096329 % {rows} + 1), (3104248 % {rows} + 1), (3112167 % {rows} + 1), (3120086 % {rows} + 1), (3128005 % {rows} + 1), (3135924 % {rows} + 1), (3143843 % {rows} + 1), (3151762 % {rows} + 1), (3159681 % {rows} + 1), (3167600 % {rows} + 1), (3175519 % {rows} + 1), (3183438 % {rows} + 1), (3191357 % {rows} + 1), (3199276 % {rows} + 1), (3207195 % {rows} + 1), (3215114 % {rows} + 1), (3223033 % {rows} + 1), (3230952 % {rows} + 1), (3238871 % {rows} + 1), (3246790 % {rows} + 1), (3254709 % {rows} + 1), (3262628 % {rows} + 1), (3270547 % {rows} + 1), (3278466 % {rows} + 1), (3286385 % {rows} + 1), (3294304 % {rows} + 1), (3302223 % {rows} + 1), (3310142 % {rows} + 1), (3318061 % {rows} + 1), (3325980 % {rows} + 1), (3333899 % {rows} + 1), (3341818 % {rows} + 1), (3349737 % {rows} + 1), (3357656 % {rows} + 1), (3365575 % {rows} + 1), (3373494 % {rows} + 1), (3381413 % {rows} + 1), (3389332 % {rows} + 1), (3397251 % {rows} + 1), (3405170 % {rows} + 1), (3413089 % {rows} + 1), (3421008 % {rows} + 1), (3428927 % {rows} + 1), (3436846 % {rows} + 1), (3444765 % {rows} + 1), (3452684 % {rows} + 1), (3460603 % {rows} + 1), (3468522 % {rows} + 1), (3476441 % {rows} + 1), (3484360 % {rows} + 1), (3492279 % {rows} + 1), (3500198 % {rows} + 1), (3508117 % {rows} + 1), (3516036 % {rows} + 1), (3523955 % {rows} + 1), (3531874 % {rows} + 1), (3539793 % {rows} + 1), (3547712 % {rows} + 1), (3555631 % {rows} + 1), (3563550 % {rows} + 1), (3571469 % {rows} + 1), (3579388 % {rows} + 1), (3587307 % {rows} + 1), (3595226 % {rows} + 1), (3603145 % {rows} + 1), (3611064 % {rows} + 1), (3618983 % {rows} + 1), (3626902 % {rows} + 1), (3634821 % {rows} + 1), (3642740 % {rows} + 1), (3650659 % {rows} + 1), (3658578 % {rows} + 1), (3666497 % {rows} + 1), (3674416 % {rows} + 1), (3682335 % {rows} + 1), (3690254 % {rows} + 1), (3698173 % {rows} + 1), (3706092 % {rows} + 1), (3714011 % {rows} + 1), (3721930 % {rows} + 1), (3729849 % {rows} + 1), (3737768 % {rows} + 1), (3745687 % {rows} + 1), (3753606 % {rows} + 1), (3761525 % {rows} + 1), (3769444 % {rows} + 1), (3777363 % {rows} + 1), (3785282 % {rows} + 1), (3793201 % {rows} + 1), (3801120 % {rows} + 1), (3809039 % {rows} + 1), (3816958 % {rows} + 1), (3824877 % {rows} + 1), (3832796 % {rows} + 1), (3840715 % {rows} + 1), (3848634 % {rows} + 1), (3856553 % {rows} + 1), (3864472 % {rows} + 1), (3872391 % {rows} + 1), (3880310 % {rows} + 1), (3888229 % {rows} + 1), (3896148 % {rows} + 1), (3904067 % {rows} + 1), (3911986 % {rows} + 1), (3919905 % {rows} + 1), (3927824 % {rows} + 1), (3935743 % {rows} + 1), (3943662 % {rows} + 1), (3951581 % {rows} + 1), (3959500 % {rows} + 1)])