问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sql语句的优化

发布网友 发布时间:2022-04-21 06:34

我来回答

1个回答

热心网友 时间:2022-04-07 20:52

由于SQL优化起来比较复杂,并且还会受环境*,在开发过程中,写SQL必须必须要遵循以下几点的原则:

  1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.

  例如:

  (低效)

  SELECT … FROM EMP E WHERE SAL > 50000 AND JOB = ‘MANAGER’ AND 25 < (SELECT COUNT(*) FROM EMP WHERE MGR=E.EMPNO);

  (高效)

  SELECT … FROM EMP E WHERE 25 < (SELECT COUNT(*) FROM EMP WHERE MGR=E.EMPNO) AND SAL > 50000 AND JOB = ‘MANAGER’;

  2.SELECT子句中避免使用’*’

  当在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 ‘*’ 是一个方便的方法.可是,这是一个非常低效的方法. 实际上,ORACLE在解析的过程中, 会将’*’ 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间.

  3.使用表的别名(Alias)

  当在SQL语句中连接多个表时, 请使用表的别名并把别名前缀于每个Column上.这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误.

  注:Column歧义指的是由于SQL中不同的表具有相同的Column名,当SQL语句中出现这个Column时,SQL解析器无法判断这个Column的归属。追问能简单讲下左连接 右连接 内连接的适用范围和区别吗?

追答SQL提供了多种类型的连接方式,它们之间的区别在于:从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同。

内连接
只连接匹配的行

左外连接
包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行

右外连接
包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行

全外连接
包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行

交叉连接
生成笛卡尔积-它不使用任何匹配或者选取条件,而是直接将一个数据源中的每个行与另一个数据源的每个行都一一匹配

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
海尔bcd-539wh压缩机是什么型号的?这款冰箱好不好? ...潜力对吗?那么一个人的潜力最多能发挥多少?用什么方式可以激发个人潜 ... 安东尼罗宾 是谁 ? 卡萨帝发展大事记 ...我上高中 并且很想学情非得已 问下大概多长时间能学会这首曲子... 为什么excel下拉的数字不递增啊? ...也几乎没有音乐基础的人来说,学会吉他(速成)需要多长时间。。_百度... excel下拉数字递增怎么设置 下拉数字递增设置方法 2024年微信朋友圈广告投放推广怎么做(收费标准) 达州微信朋友圈运营 怎样进行sql数据库的优化 SQL语句效率优化 谁能告诉我怎样优化sql语句? 如何提高sql语句的执行效率 什么叫SQL语句的优化 如何进行SQL性能优化 优化sql 语句的几种方式 如何优化SQL语句 SQL语句如何优化? SQL语句的几种优化方法 开发中,SQL语句优化有哪些方法? 三种用ppt创建演示文稿的方法 列举powerpoint2010创建演示文稿的三种方式 创建演示文稿主要有那四种方式 如何创建或打开演示文稿 ppt怎么样创建演示文档3个节 创建演示文稿的方法有几种 创建演示文稿 创建演示文稿的一般步骤是什么 在ppt中演示文稿的创建方法有几种 SQL 语句优化问题 SQL语句怎么可以优化呢 sql语句性能如何优化?? 如何优化sql语句? 如何优化SQL语句提高数据库效率 数据库中怎么优化SQL语句? SQL 语句优化,该怎么处理 提手旁加共念什么 一个提手加共念什么 提手上加共读什么 提手旁加一个共字念什么 一个提手一个共念什么 一个提手两个巳和一个共是什么字? 一个提手,右上头两个巳,右下头一个共。咋读。 共字可以加什么偏旁 一个提手一个龙念什么 提手加个取念什么 提手加出念什么 提手加彖念什么??? 提手旁加个大字读啥