13 笛卡尔积(CARTESIAN)--优化主题系列

本文探讨了在数据库查询中笛卡尔积的情况,包括何时会发生、是否总是性能不佳,以及如何处理统计信息不准确导致的问题。通过分析一个SQL查询的例子,展示了如何识别并优化笛卡尔积,强调了SQL优化的主要目标是减少I/O操作。
摘要由CSDN通过智能技术生成

提问笛卡尔积平时工作遇到的多吗??什么情况下会发生笛卡尔积??

笛卡尔积JOIN性能一定很差吗??有没有性能很好的时候??

JOIN条件的时候会不会发生笛卡尔积??

 

笛卡尔积(CartesianJoin)

 

当一个SQL中两个表无关联条件,或者关联条件可以被忽略的时候就会发生笛卡尔积。遇到这种情况要仔细分析SQL是否符合需求,是不是SQL写错了。在有些情况下,如果CBO预估两个表返回的行数很少(通常小于10),那么也可能发生笛卡尔积。遇到这样的情况:

1.如果SQL跑得很快,并且两个表返回的真实行数确实很少,那么走笛卡尔积可能是最优化

  的,这个时候我们不用管。只要是SQL跑得快我们都不用管。

2.统计信息不准确导致CBO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值