Commit 4058c72
committed
Consider the number of columns when estimating the Sort's cost.
During the multicolumn sort, we apply a comparison operator to each column one
by one. So, even keeping aside the cost of a specific operator, we should take
into account the number of its calls.
This code impacts the cost model of GatherMerge, IncrementalSort, Sort, and
MergeAppend. It also alters the balance between ordered and hashed operations,
which should be benchmarked and tuned carefully.1 parent b8aa44f commit 4058c72
File tree
6 files changed
+78
-66
lines changed- contrib/postgres_fdw/expected
- src
- backend/optimizer/path
- test/regress/expected
6 files changed
+78
-66
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9984 | 9984 | | |
9985 | 9985 | | |
9986 | 9986 | | |
9987 | | - | |
9988 | | - | |
9989 | | - | |
| 9987 | + | |
| 9988 | + | |
| 9989 | + | |
9990 | 9990 | | |
9991 | | - | |
9992 | | - | |
9993 | | - | |
| 9991 | + | |
| 9992 | + | |
| 9993 | + | |
| 9994 | + | |
| 9995 | + | |
| 9996 | + | |
9994 | 9997 | | |
9995 | 9998 | | |
9996 | 9999 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
481 | 481 | | |
482 | 482 | | |
483 | 483 | | |
| 484 | + | |
| 485 | + | |
484 | 486 | | |
485 | 487 | | |
486 | 488 | | |
| |||
503 | 505 | | |
504 | 506 | | |
505 | 507 | | |
506 | | - | |
| 508 | + | |
507 | 509 | | |
508 | 510 | | |
509 | 511 | | |
| |||
1861 | 1863 | | |
1862 | 1864 | | |
1863 | 1865 | | |
1864 | | - | |
| 1866 | + | |
1865 | 1867 | | |
1866 | 1868 | | |
1867 | 1869 | | |
| |||
1878 | 1880 | | |
1879 | 1881 | | |
1880 | 1882 | | |
1881 | | - | |
| 1883 | + | |
1882 | 1884 | | |
1883 | 1885 | | |
1884 | 1886 | | |
| |||
2050 | 2052 | | |
2051 | 2053 | | |
2052 | 2054 | | |
2053 | | - | |
| 2055 | + | |
| 2056 | + | |
| 2057 | + | |
2054 | 2058 | | |
2055 | 2059 | | |
2056 | 2060 | | |
| |||
2074 | 2078 | | |
2075 | 2079 | | |
2076 | 2080 | | |
2077 | | - | |
| 2081 | + | |
2078 | 2082 | | |
2079 | 2083 | | |
2080 | 2084 | | |
| |||
2108 | 2112 | | |
2109 | 2113 | | |
2110 | 2114 | | |
| 2115 | + | |
| 2116 | + | |
2111 | 2117 | | |
2112 | 2118 | | |
2113 | | - | |
| 2119 | + | |
2114 | 2120 | | |
2115 | 2121 | | |
2116 | 2122 | | |
| |||
2390 | 2396 | | |
2391 | 2397 | | |
2392 | 2398 | | |
| 2399 | + | |
| 2400 | + | |
2393 | 2401 | | |
2394 | 2402 | | |
2395 | 2403 | | |
| |||
2398 | 2406 | | |
2399 | 2407 | | |
2400 | 2408 | | |
2401 | | - | |
| 2409 | + | |
2402 | 2410 | | |
2403 | 2411 | | |
2404 | 2412 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3001 | 3001 | | |
3002 | 3002 | | |
3003 | 3003 | | |
3004 | | - | |
3005 | | - | |
| 3004 | + | |
| 3005 | + | |
3006 | 3006 | | |
3007 | 3007 | | |
3008 | 3008 | | |
3009 | 3009 | | |
3010 | | - | |
| 3010 | + | |
3011 | 3011 | | |
3012 | | - | |
3013 | | - | |
3014 | | - | |
| 3012 | + | |
| 3013 | + | |
| 3014 | + | |
| 3015 | + | |
3015 | 3016 | | |
3016 | 3017 | | |
3017 | 3018 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5726 | 5726 | | |
5727 | 5727 | | |
5728 | 5728 | | |
5729 | | - | |
5730 | | - | |
5731 | | - | |
5732 | | - | |
5733 | | - | |
5734 | | - | |
5735 | | - | |
5736 | | - | |
| 5729 | + | |
| 5730 | + | |
| 5731 | + | |
| 5732 | + | |
5737 | 5733 | | |
5738 | 5734 | | |
5739 | 5735 | | |
5740 | | - | |
| 5736 | + | |
| 5737 | + | |
| 5738 | + | |
| 5739 | + | |
| 5740 | + | |
| 5741 | + | |
| 5742 | + | |
5741 | 5743 | | |
5742 | 5744 | | |
5743 | 5745 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1235 | 1235 | | |
1236 | 1236 | | |
1237 | 1237 | | |
1238 | | - | |
| 1238 | + | |
1239 | 1239 | | |
1240 | | - | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
1241 | 1243 | | |
1242 | 1244 | | |
1243 | 1245 | | |
| |||
1286 | 1288 | | |
1287 | 1289 | | |
1288 | 1290 | | |
1289 | | - | |
| 1291 | + | |
1290 | 1292 | | |
1291 | 1293 | | |
1292 | 1294 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1224 | 1224 | | |
1225 | 1225 | | |
1226 | 1226 | | |
1227 | | - | |
1228 | | - | |
| 1227 | + | |
| 1228 | + | |
1229 | 1229 | | |
1230 | 1230 | | |
1231 | | - | |
1232 | | - | |
1233 | | - | |
1234 | | - | |
1235 | | - | |
1236 | | - | |
1237 | | - | |
1238 | | - | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
1239 | 1238 | | |
1240 | 1239 | | |
1241 | 1240 | | |
| |||
1289 | 1288 | | |
1290 | 1289 | | |
1291 | 1290 | | |
1292 | | - | |
1293 | | - | |
| 1291 | + | |
| 1292 | + | |
1294 | 1293 | | |
1295 | 1294 | | |
1296 | 1295 | | |
1297 | 1296 | | |
1298 | | - | |
1299 | | - | |
1300 | | - | |
1301 | | - | |
1302 | | - | |
1303 | | - | |
1304 | | - | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
1305 | 1303 | | |
1306 | 1304 | | |
1307 | 1305 | | |
| |||
1322 | 1320 | | |
1323 | 1321 | | |
1324 | 1322 | | |
1325 | | - | |
1326 | | - | |
1327 | | - | |
1328 | | - | |
1329 | | - | |
| 1323 | + | |
| 1324 | + | |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
1330 | 1328 | | |
1331 | | - | |
1332 | | - | |
1333 | | - | |
1334 | | - | |
1335 | | - | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
1336 | 1333 | | |
1337 | | - | |
1338 | | - | |
1339 | | - | |
1340 | | - | |
1341 | | - | |
1342 | | - | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
| 1337 | + | |
| 1338 | + | |
1343 | 1339 | | |
1344 | 1340 | | |
1345 | 1341 | | |
| |||
0 commit comments