一个有头发的程序猿 2022-01-10 16:25 采纳率: 0%
浏览 260

oracle inner join 链接 多对多 效率优化

例: select a.prod_id,a.prod_name,b.price,b.data_date from prod a inner join prod_price b on a.prod_id = b.prod_id
例如这个例子 在用 inner join 时,两个表都有多条数据,存储过程效率特别慢,有什么好方法吗?

  • 写回答

4条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-01-10 17:11
    关注

    这哪里多对多了?你的prod里,难道prod_id不是主键?会有重复值?
    在oracle里,极少使用join去关联表,因为oracle的CBO会进行自动优化,除非是要做full join。
    像你这个例子,在oracle中的常规sql写法应该为

    select a.prod_id,a.prod_name,b.price,b.data_date from prod a , prod_price b where a.prod_id = b.prod_id;
    

    如果这个sql效率慢,那就说明你这两个表上的索引没建或者建得不对,另外,还要查看下prod_price是否存在高水位的情况

    评论

报告相同问题?

问题事件

  • 创建了问题 1月10日

悬赏问题

  • ¥30 为什么会失败呢,该如何调整
  • ¥50 如何在不能联网影子模式下的电脑解决usb锁
  • ¥20 服务器redhat5.8网络问题
  • ¥15 如何利用c++ MFC绘制复杂网络多层图
  • ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变
  • ¥15 python螺旋图像
  • ¥15 算能的sail库的运用
  • ¥15 'Content-Type': 'application/x-www-form-urlencoded' 请教 这种post请求参数,该如何填写??重点是下面那个冒号啊
  • ¥15 找代写python里的jango设计在线书店
  • ¥15 请教如何关于Msg文件解析