When you say "we should add a column to upstream index so that this key lookup doesn't have to happen", what kind of column do you mean? What kind of technique is this?
Good explanation... but.... you miss the correction of the case when the nested loop is not a good operator at all... what do you think? (I know... they are just simple cases... but how to fix them? ... in simple case scenario, I mean...)