oracle大表关联怎样优化

 我来答
longrenyingdc8ecb1
2014-10-29 · TA获得超过1万个赞
知道大有可为答主
回答量:6032
采纳率:82%
帮助的人:2345万
展开全部

本来看到这个问题不想多说,不过还是写一点,仅供参考。(均为个人见解,可以讨论,不喜勿喷)

首先个人感觉问题问的太泛,这类问题没办法回答。每个sql其实都是独立的,优化的方式也是千差万别,似乎有些一定之规,但是这些一定之规在某些时候也不是那么好用的。还是要根据执行计划一点一点来,判断可能优化的位置和运算过程。

这里我只能说一点点一定之规,不过,先声明,未必管用,因为有时一定之规不一定好用。(一般我们要的是时间,而oracle则要的是cost,这时两个概念,有时cost很小,可是time高,那么你的优化就几乎没有作用了,还有其他的可能,总之不能照搬照抄,还是要根据)

  1. 减小大表的数据量(利用子查询将大表变为小表,减小关联判断的数据条数)

  2. 尽量用hash连接(一般情况下hash连接臂nested loop好一些,不过有时也会反过来,比如大表关联小表)

  3. 看看有没有可以利用的索引或建立表之间的cluster(cluster现在运用的人不多,起码我没见过多少),另外观察下,能不能建立外键一类的,这个也会提高些查询效率的。

  4. 最后连接的where条件时,将二者的连接放在第一位(这个其实没有实例说到底能不能优化,不过一般来说都是这样写的),还有什么大表写前,小表写后,我估计这些应该就不用我多嘴了。

  5. 对于每次查一部分的表建立相应分区,也能提升些效率的。

  6. 不管哪种优化方式,最终都要归到执行计划上来,不能生搬硬套,那样只会越来越慢。

柚鸥ASO
2024-03-16 广告
首先,要了解ASO优化的基本概念,以及与aso有关的相关技术。其次,要掌握运用界面的相关知识,熟悉aso有关的相关操作。此外,还需要通过各大渠道了解行业内的最新技术和aso优化的最新操作。 柚鸥ASO优化就做的蛮不错的;专注应用商店下载量优... 点击进入详情页
本回答由柚鸥ASO提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式