提问笛卡尔积平时工作遇到的多吗??什么情况下会发生笛卡尔积??
笛卡尔积JOIN性能一定很差吗??有没有性能很好的时候??
有JOIN条件的时候会不会发生笛卡尔积??
笛卡尔积(CartesianJoin)
当一个SQL中两个表无关联条件,或者关联条件可以被忽略的时候就会发生笛卡尔积。遇到这种情况要仔细分析SQL是否符合需求,是不是SQL写错了。在有些情况下,如果CBO预估两个表返回的行数很少(通常小于10),那么也可能发生笛卡尔积。遇到这样的情况:
1.如果SQL跑得很快,并且两个表返回的真实行数确实很少,那么走笛卡尔积可能是最优化
的,这个时候我们不用管。只要是SQL跑得快我们都不用管。
2.统计信息不准确导致CBO