You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1: The rows and estimated rows on the materialize surprise me they seem to have been multiplied by loops. Is this indicating that the nested loop semi join is reading the whole materialized table 205377 times?
2: I note that that's the number of rows coming up to the other side of the semi join from the nested loop. It's estimated rows is much lower which suggests that if 1 is correct and expected, then maybe for the estimated rows on the materialize it should be multiplying by the estimated rows off the nested loop, not the actual loops from the materialize.
The text was updated successfully, but these errors were encountered:
Also I have another version of the same query where instead of materialize and nested loop semi join it's used a hash and hash semi join.
The hash only has a loop count of 1, so it doesn't pump up the rows like this. That makes it look much better, but is it really?
As far as I can see the planner has done that because it's row estimates that time were much less accurate leading it to think there would only be 27 rows on the left side of this join, not 205,377. Suggesting that the planner thinks the materialize is better when there are more rows.
Although the runtimes contradict that idea so 🤷
This is version 1.9.1
I don't understand explain output that well, I'm still learning.
I have an explain from Postgres that includes
In the UI these four nodes look like:
1: The rows and estimated rows on the materialize surprise me they seem to have been multiplied by loops. Is this indicating that the nested loop semi join is reading the whole materialized table 205377 times?
2: I note that that's the number of rows coming up to the other side of the semi join from the nested loop. It's estimated rows is much lower which suggests that if 1 is correct and expected, then maybe for the estimated rows on the materialize it should be multiplying by the estimated rows off the nested loop, not the actual loops from the materialize.
The text was updated successfully, but these errors were encountered: