Oracle数据库执行计划中有笛卡尔连接应该怎么优化?
首先应该检查表是否有关联条件,如果表没有关联条件,那么应该询问开发与业务人员为何表没有关联条件,是否为满足业务需求而故意不写关联条件。
其次应该检查离笛卡尔连接最近的表是否真的返回1行数据,如果返回行数真的只有1行,那么走笛卡尔连接是没有问题的;如果返回行数超过1行,那就需要检查为什么Rows会估算错误,同时要纠正错误的Rows。纠正错误的Rows之后,优化器就不会走笛卡尔连接了。