• Interactive: Typically a few joins and some very selective predicates.
  • E.g., find one customer and join to related information.
  • Index Nested Loops is designed for this case.
  • Join with reference table: The index lookup is essentially free. BNL, SM costs are essentially scanning the larger table.
  • Costs would go way down if there's a selective predicate and index.
  • Analytic: No avoiding large joins.
  • Index lookups are pretty awful -- lots of random access.
  • Sort merge is often a good choice.