_skipscan2.sql
application/sql
Filename: _skipscan2.sql
Type: application/sql
Part: 0
CREATE TABLE skip_scan_test (a INTEGER, b INTEGER, c INTEGER); CREATE INDEX abc_idx ON skip_scan_test USING btree (a, b, c); CREATE INDEX bc_idx ON skip_scan_test USING btree (b, c); CREATE INDEX c_idx ON skip_scan_test USING btree (c); INSERT INTO skip_scan_test (a, b, c) VALUES (167, 139, 558), (235, NULL, 77), (724, 544, 394), (279, NULL, 609), (961, 547, 112), (625, 765, 287), (386, 685, 118), (237, NULL, 998), (553, 152, 775), (373, 672, 77), (587, 46, 528), (992, 533, 728), (813, NULL, 829), (NULL, 12, 682), (572, 716, 665), (NULL, 7, NULL), (735, 147, NULL), (206, 534, 907), (441, NULL, 394), (749, NULL, 812), (411, 454, 371), (22, 79, 725), (NULL, NULL, 933), (382, 865, 20), (400, 776, 791), (265, 90, 335), (943, 328, 271), (NULL, 627, 734), (622, 384, 938), (951, 999, 785), (963, 249, 72), (NULL, NULL, 280), (903, 340, 796), (963, 926, 797), (743, 48, 134), (790, 161, 862), (735, 986, 870), (199, 751, 977), (NULL, 957, 644), (200, 885, 618), (68, 533, 596), (670, 550, 819), (388, 274, 858), (369, 753, 360), (129, 970, 522), (NULL, 438, NULL), (291, NULL, 245), (135, 587, NULL), (76, 724, 936), (448, 290, 303), (415, 73, 339), (835, 374, 959), (285, 350, 716), (561, 776, 446), (593, 952, 780), (496, NULL, 141), (259, 943, 346), (868, 733, 171), (169, 861, 953), (237, 248, 521), (875, 641, 658), (723, 875, 239), (732, 586, 687), (210, 882, 862), (747, 635, 55), (935, 529, 507), (534, 129, 32), (303, 694, NULL), (72, 521, NULL), (240, 357, NULL), (862, NULL, 320), (223, 808, 946), (654, 961, 380), (807, 474, 913), (888, 878, 653), (193, NULL, 372), (988, 146, 511), (654, 867, 578), (628, 960, 676), (985, NULL, 308), (157, 926, 151), (699, 391, 180), (426, NULL, 516), (123, NULL, 480), (358, 924, 89), (508, 108, 813), (671, 467, 692), (124, 382, 951), (466, 49, 238), (977, 945, 717), (654, 610, 497), (894, 172, 341), (833, 605, 166), (245, 863, 244), (978, 166, 523), (930, 114, 661), (692, 789, 206), (NULL, 953, 505), (756, 300, 933), (73, 263, 932), (367, 877, 993), (36, 329, 513), (931, 368, 471), (464, 62, 226), (455, 866, 482), (769, 785, 966), (220, 5, NULL), (255, 445, 115); ANALYZE skip_scan_test; SELECT a, b, c FROM skip_scan_test WHERE c <= ANY(ARRAY[226, 203, 567]) AND b >= ANY(ARRAY[487, 812, 408, NULL, 414, 257, 253, 179, 437, 224, 940, 404, 135, 820, 633, 89, 307, 202, 171, 582, 811, 745, 586, 4]) AND a IS DISTINCT FROM 187 AND b IS DISTINCT FROM 712 AND a = ANY(ARRAY[419, 447, 514, 515, 870, 291, 218, 789, 117, 31, 236, 53, 233, 251, 832, 893, 189, 510, 629, 668, 987, 224, 639, 357, 510, 494, 984, 337, 336, 951, 744, 528, 791, 842, 730, 500, 473, 998, 916, 47, 553, 45, 643, 495, 220, 178, 712]) AND b != 238 AND c IS NOT DISTINCT FROM 131 AND b > ANY(ARRAY[429, NULL, 926, 9, 300, 406, 624, 334, 892, 180, 667, 827, 651, NULL, 660, 706]) AND b IS NOT DISTINCT FROM 760 AND a = ANY(ARRAY[558, 679, NULL, 107]) ORDER BY b ASC, a DESC, c ASC, b ASC, c ASC, a DESC, a DESC, a DESC;