匿名用户pg中如何关闭笛卡尔积??
pg中如何关闭笛卡尔积??
mysql中如何关闭笛卡尔积??
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
4条回答
默认
最新
关闭笛卡尔积?这主要是自己的SQL写法的问题吧。逻辑有问题,就有可能出现笛卡尔积。
评论
有用 0oracle可以通过设置_optimizer_mjc_enabled关闭笛卡尔积,pg好像没这么多参数控制,你想不产生笛卡尔积,在表关联的时候不要缺少关联条件,n个表关联最少需要n-1个条件。
评论
有用 0采纳答案后不可修改和取消
oracle的_optimizer_mjc_enabled 这个参数是为了在某些特定的优化场景下, 屏蔽 MERGE JOIN CARTESIAN这个执行计划,而不是为了关闭笛卡尔积。而且就算将这个参数设成FALSE,查询出来的结果依旧还是笛卡尔积翻倍了


数据库设计者不可能会设计一个参数可以关闭笛卡尔积结果的产生,因为很多情况下,会需要使用笛卡尔积关联来产生多对多的查询结果
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏


