对于关系代数里面的 formal 定义笛卡爾积和 JOIN 是不一样的。
* JOIN 是根据给定的谓词 predicate判断 t1, t2 是否满足,满足的话返回拼接结果
概念上,JOIN 的操作确实可以理解为先笛卡尔积再过滤但昰实际不会这么操作,因为性能原因对于 JOIN 的优化首先是 逻辑计划,比如 MySQL `straight_join` 就是一个人工强制的逻辑方案
另外 Nested-Loop Join 算法是所称的 物理计划,理解为在存的数据集上如何进行存取