• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > oracle select执行顺序的详解

oracle select执行顺序的详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了oracle select into,oracle select,oracle select语句,oracle select case,oracle select if等相关知识,希望本文的分享对您有所帮助
SQL Select语句完整的执行顺序:
1、from子句组装来自不同数据源的数据;
2、where子句基于指定的条件对记录行进行筛选;
3、group by子句将数据划分为多个分组;
4、使用聚集函数进行计算;
5、使用having子句筛选分组;
6、计算所有的表达式;
7、使用order by对结果集进行排序。

oracle 语句提高查询效率的方法
1:.. where column in(select * from ... where ...);
2:... where exists (select 'X' from ...where ...);
第二种格式要远比第一种格式的效率高。在Oracle中可以几乎将所有的IN操作符子查询改写为使用EXISTS的子查询
使用EXISTS,Oracle系统会首先检查主查询,然后运行子查询直到它找到第一个匹配项,这就节省了时间
Oracle系统在执行IN子查询时,首先执行子查询,并将获得的结果列表存放在在一个加了索引的临时表中

选择最有效率的表名顺序(只在基于规则的优化器中有效)
ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理。在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。当ORACLE处理多个表时,会运用排序及合并的方式连接它们。首先,扫描第一个表(FROM子句中最后的那个表)并对记录进行派序,然后扫描第二个表(FROM子句中最后第二个表),最后将所有从第二个表中检索出的记录与第一个表中合适记录进行合并。
如果有3个以上的表连接查询,那就需要选择交叉表(intersection table)作为基础表,交叉表是指那个被其他表所引用的表。

WHERE子句中的连接顺序
ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。
</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 最简单的Oracle数据恢复 select as of使用方法
  • oracle select执行顺序的详解
  • 解析oracle对select加锁的方法以及锁的查询
  • 在oracle 数据库查询的select 查询字段中关联其他表的方法

相关文章

  • 2017-05-11oracle查询语句大全(oracle 基本命令大全一)
  • 2017-05-11[Oracle] 彻底搞懂Oracle字符集
  • 2017-05-11Oracle SQL Developer连接报错(ORA-12505)的解决方案(两种)
  • 2017-05-11Oracle中查看表空间使用率的SQL脚本分享
  • 2017-08-28oracle中表insert or update or delete触发器
  • 2017-05-11如何实现只授予用户查看存储过程定义的权限
  • 2017-05-11Oracle的substr和instr函数简单用法
  • 2017-05-11oracle 索引组织表的深入详解
  • 2017-05-11Oracle数据库的空间管理技巧
  • 2017-05-11ORACLE出现错误1033和错误ORA-00600的解决方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Win7彻底卸载Oracle 11g图文步骤(靠谱)
    • 常用Oracle分析函数大全
    • oracle求同比,环比函数(LAG与LEAD)的详解
    • Excel VBA连接并操作Oracle
    • Oracle数据库中创建自增主键的实例教程
    • Oracle数据库 DGbroker三种保护模式的切换
    • Oracle Index 的三个问题
    • Oracle数据库中的基本建库操作详解
    • 彻底删除Oracle数据库的方法
    • 教你怎样用Oracle方便地查看报警日志错误

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有