暂无图片
pg中如何关闭笛卡尔积??
我来答
分享
暂无图片 匿名用户
pg中如何关闭笛卡尔积??

pg中如何关闭笛卡尔积??


mysql中如何关闭笛卡尔积??

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
布衣
暂无图片

关闭笛卡尔积?这主要是自己的SQL写法的问题吧。逻辑有问题,就有可能出现笛卡尔积。

暂无图片 评论
暂无图片 有用 0
手机用户9375
2022-11-01
oracle就能关闭
李宏达

关不了,笛卡尔积是个人行为。

暂无图片 评论
暂无图片 有用 0
李宏达
答主
2022-11-01
手机用户9375
2022-11-01
oracle就能关闭
张sir

oracle可以通过设置_optimizer_mjc_enabled关闭笛卡尔积,pg好像没这么多参数控制,你想不产生笛卡尔积,在表关联的时候不要缺少关联条件,n个表关联最少需要n-1个条件。

暂无图片 评论
暂无图片 有用 0
DarkAthena

oracle的_optimizer_mjc_enabled 这个参数是为了在某些特定的优化场景下, 屏蔽 MERGE JOIN CARTESIAN这个执行计划,而不是为了关闭笛卡尔积。而且就算将这个参数设成FALSE,查询出来的结果依旧还是笛卡尔积翻倍了
image.png
image.png

数据库设计者不可能会设计一个参数可以关闭笛卡尔积结果的产生,因为很多情况下,会需要使用笛卡尔积关联来产生多对多的查询结果

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏