Oracle性能优化顺序表名称来选择最有效的学习笔记

Oracle性能优化顺序表名称来选择最有效的学习笔记

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

        选择最有效的顺序表名(只有有效的基于规则的优化)

        ORACLE分析器按照订单处理从右到左FROM在FROM子句中的表名,故FROM写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包括多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处理多个表时, 会运用排序及合并的方式连接它们.首先,扫描第一个表(FROM子句中最后的那个表)并对记录进行派序,然后扫描第二个表(FROM子句中最后第二个表),最后将全部从第二个表中检索出的记录与第一个表中合适记录进行合并.

比如:

        表 TAB1:16,384 条记录、表 TAB2:1 条记录

        选择TAB2作为基础表 (最好的方法):运行时间0.96秒

select count(*) from tab1,tab2 

        选择TAB2作为基础表 (不佳的方法):运行时间26.09秒

select count(*) from tab2,tab1

     
 假设有3个以上的表连接查询, 那就须要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其它表所引用的表.

比如:

      EMP表描写叙述了LOCATION表和CATEGORY表的交集.

SELECT * 
FROM LOCATION L , 
      CATEGORY C,
      EMP E 
WHERE E.EMP_NO BETWEEN 1000 AND 2000
AND E.CAT_NO = C.CAT_NO
AND E.LOCN = L.LOCN

将比下列SQL更有效率:

SELECT * 
FROM EMP E ,
LOCATION L , 
      CATEGORY C
WHERE  E.CAT_NO = C.CAT_NO
AND E.LOCN = L.LOCN
AND E.EMP_NO BETWEEN 1000 AND 2000

小注:

       本文摘自百度文库,详细链接木有找到。抱歉。

版权声明:笔者:jiankunking 资源:http://blog.csdn.net/jiankunking 本文版权归作者和CSDN共同拥有。欢迎转载。但是,如果没有从本节宣布提交权限必须保留,并连接到原来的文章页给出视在位置。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116903.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • AD18 net class设置「建议收藏」

    AD18 net class设置「建议收藏」今天使用AD18画原理图,想把天线相关网络归属为一类以便方便进行PCB规则设置。在原理图中设置NetClass,可省去在PCB阶段再重新分配NetClass。点击设置→指示→参数设置,调取参数设置符合。将参数设置符合放在要设定的网络上,查看参数设置符合的属性在label中可以重新命名原理图上显示的名称,在Class中点击add,即可新增NetClass,并需要对其进行命名。再将符合复…

  • 自监督学习 对比学习了解

    自监督学习 对比学习了解简介自监督学习是近几年(2020年)流行起来的一种机器学习方法,很多人认为自监督方法未来一段时间将取代现有的监督方法,成为深度学习中占据主导地位的方法。现在已经有不少采用自监督-对比学习的方法取得了领先的效果。目前(2020.10)来说这个领域貌似还比较新,没有找到很系统的讲解介绍资料。首先介绍一下到底什么是SSL,我们知道一般机器学习分为监督学习,非监督学习和强化学习。而self-supervisedlearning是无监督学习里面的一种。自监督学习的思想非常简单,就是输入的是一堆无监督的数据

  • SwipeRefreshLayout 使用

    SwipeRefreshLayout 使用SwipeRefreshLayout使用v4包下SwipeRefreshLayout支持listView,webView,scrollView,recyclerView等在布局中使用SwipeRefreshLayout将需要下拉刷新的控件包裹。当这些控件滑动到边缘时会触发SwipeRefreshLayout.onRefresh();到此便完成了一次下拉刷新的操作。使用如下方法改变划出的

  • 【转载】win7下IIS的安装和配置图文教程

    【转载】win7下IIS的安装和配置图文教程

    2021年11月18日
  • stc15w4k32s4最小系统原理图_单片机最小系统原理图,求详细讲解

    stc15w4k32s4最小系统原理图_单片机最小系统原理图,求详细讲解展开全部我是一名单片机工程师,下面51单片机最小系统的讲解,你参考一下51单片机共有40只引脚.下面这个就是636f70793231313335323631343130323136353331333365653861最小系统原理图,就是靠这四个部分,这个单片机就可以运行起来了.我们来一,一讲解一下:1第一部分:电源组(标记为1的部分)40脚接电源5V(右上角),20脚接电源负极(左下角),在单片…

  • 基尼系数近似计算:sql (hive)实现 简单高效

    基尼系数近似计算:sql (hive)实现 简单高效通过近似的方法,如何在sql中计算基尼系数。如何在python中实现基尼系数计算的两种方法,可以查看我的另一篇文章。两篇文章取数相同,可以结合去看。如果想加深对基尼系数计算的逻辑:可查看文章http://www.cnblogs.com/longwind09/p/8047539.html。本文中采用的近似方法,如何建立近似计算公式、如何简化推导公式可查看文章,本文基于这篇文章进行注…

    2022年10月10日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号