forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitaaa6761
committed
Apply all available functional dependencies
When considering functional dependencies during selectivity estimation,it's not necessary to bother with selecting the best extended statisticobject and then use just dependencies from it. We can simply considerall applicable functional dependencies at once.This means we need to deserialie all (applicable) dependencies beforeapplying them to the clauses. This is a bit more expensive than pickingthe best statistics and deserializing dependencies for it. To minimizethe additional cost, we ignore statistics that are not applicable.Author: Tomas VondraReviewed-by: Mark DilgerDiscussion:https://postgr.es/m/20191028152048.jc6pqv5hb7j77ocp@development1 parent652686a commitaaa6761
File tree
3 files changed
+169
-39
lines changed- src
- backend/statistics
- test/regress
- expected
- sql
3 files changed
+169
-39
lines changedLines changed: 77 additions & 39 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
77 | 77 |
| |
78 | 78 |
| |
79 | 79 |
| |
80 |
| - | |
81 |
| - | |
| 80 | + | |
| 81 | + | |
82 | 82 |
| |
83 | 83 |
| |
84 | 84 |
| |
| |||
862 | 862 |
| |
863 | 863 |
| |
864 | 864 |
| |
865 |
| - | |
| 865 | + | |
866 | 866 |
| |
867 | 867 |
| |
868 |
| - | |
| 868 | + | |
869 | 869 |
| |
870 | 870 |
| |
871 | 871 |
| |
| |||
876 | 876 |
| |
877 | 877 |
| |
878 | 878 |
| |
879 |
| - | |
| 879 | + | |
880 | 880 |
| |
881 |
| - | |
882 |
| - | |
883 |
| - | |
884 |
| - | |
885 |
| - | |
886 |
| - | |
887 |
| - | |
888 |
| - | |
889 |
| - | |
890 |
| - | |
| 881 | + | |
891 | 882 |
| |
892 |
| - | |
893 |
| - | |
894 |
| - | |
| 883 | + | |
895 | 884 |
| |
896 |
| - | |
897 |
| - | |
898 |
| - | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
899 | 890 |
| |
900 |
| - | |
901 | 891 |
| |
902 |
| - | |
903 |
| - | |
904 |
| - | |
905 |
| - | |
906 |
| - | |
907 |
| - | |
908 |
| - | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
909 | 912 |
| |
910 | 913 |
| |
911 | 914 |
| |
| |||
949 | 952 |
| |
950 | 953 |
| |
951 | 954 |
| |
952 |
| - | |
953 |
| - | |
954 | 955 |
| |
955 | 956 |
| |
| 957 | + | |
| 958 | + | |
| 959 | + | |
956 | 960 |
| |
957 | 961 |
| |
958 | 962 |
| |
| |||
1001 | 1005 |
| |
1002 | 1006 |
| |
1003 | 1007 |
| |
1004 |
| - | |
1005 |
| - | |
1006 |
| - | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
1007 | 1044 |
| |
1008 | 1045 |
| |
1009 |
| - | |
| 1046 | + | |
1010 | 1047 |
| |
1011 | 1048 |
| |
1012 | 1049 |
| |
1013 | 1050 |
| |
1014 | 1051 |
| |
1015 |
| - | |
1016 |
| - | |
1017 |
| - | |
1018 | 1052 |
| |
1019 | 1053 |
| |
1020 | 1054 |
| |
| |||
1027 | 1061 |
| |
1028 | 1062 |
| |
1029 | 1063 |
| |
1030 |
| - | |
| 1064 | + | |
1031 | 1065 |
| |
1032 | 1066 |
| |
1033 | 1067 |
| |
| |||
1097 | 1131 |
| |
1098 | 1132 |
| |
1099 | 1133 |
| |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
1100 | 1138 |
| |
1101 | 1139 |
| |
1102 | 1140 |
| |
|
Lines changed: 57 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
451 | 451 |
| |
452 | 452 |
| |
453 | 453 |
| |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
454 | 511 |
| |
455 | 512 |
| |
456 | 513 |
| |
|
Lines changed: 35 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
291 | 291 |
| |
292 | 292 |
| |
293 | 293 |
| |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
294 | 329 |
| |
295 | 330 |
| |
296 | 331 |
| |
|
0 commit comments
Comments
(0)