ORACLE 10g数据库技术查询性能浅谈
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进程 还 是不 会直 接对数 据库 文件进 行查 询 。 evr Sre 进
意 的是 , 个 优化是 有 限的 。 这
实验 5查询 E : MP表 和 D P E T表 , 示 部 门号 为 显 语 法 格式 为 :Q > S L C a , a R M S L E E Te me nme O n d F
e e 进程接下去就对书写语 v 通过分析 S L Q 语句中的 Sl t e c语句 ,来看数据 语法上的定义话 ,则 Sr r e 句 中的字段、 数据类型等 内容进行检查。确认这些字 库进 行 的查询 活 动 。 数据类型是否在数据库中。因此如果表名与列名 首先 , 要在 Ci t ln 书写 S L语句并执行时 ,ln e Q Ci t 段 、 e 数据库会就会反馈错误信息给 C et i ln。 就把 这 条 S L语 句发 送 给 Sre,evr Q evrSre 的进程 就会 不贴切的话 , () 4 经过 检查 ,Q S L语 句 的语法 、 义 都正 确后 , 语 来处 理 这条 Slc 语 句 。 eet 以防我们在查询的过程 中, 其次,当 S L Q 语句被传送到 Sr r ,e e进 为了保障数据的一致性 , e e后 Sr r v v 其他用户对查询对象的结构进行修改 ,系统就会锁 程就 会对 传送 过来 的语 句进行 分析 。 同理 ,这个分析 的工作 ,也是在 Sr r e e 方进行 定 我们需 要查 询 的对 象 。 v
不能够获取这些数据。所 以, 数据库 Sr r e e 进程是先 v
检 查语 法 与语义 , 然后 才会 检查访 问权 限 。
s o te c t・ mp;
这样显示的结果 比较直观 ,用户操作起来也很 () 6 经过上述一些列检查后 , 当我们确认语句 方便。 与语 法 都 没 有 问题 ,同时 也有 查 询权 限 的话 ,evr Sre 1 高级 S L连接 查 询 、 Q
全年 总工 资来 。
sot m E Ed pn =slc dpn o so .e t cte pWH R eto ( et e to rm td p . e f ct
h r n me ’AL S) ; 实 验 4: 列 上 起 一 个别 名 : 法 格 式 为 :Q > w eed a =S E ’ 在 语 S L
查 询 性 能 进 行 介 绍 和探 索 。 关键词 : 数据 库; ORA L ; C E 查询 : 能 性
中图分类号 :P 9 T 32
文献标识码 : B
文章编号 :6 2 5 5 ( 0 )3 o 4 一 3 17— 4 X 2 1 O -o 3 O 2
数据库 中会存储各类信息( 学校记录 移动电话记 S L Q 语句时, 会先在数据库 的高速缓存 中查找 , 查看 录、 下载的铃音 、 采购的商品)我们每天都在自觉或不 有没有存在相 同语句的执行计划。假如在数据高速 。 自 觉地与数据打交道。了解数据库 中存储了哪些内容 缓存 中,恰好有别人在使用这个查 询语句 的话 , 那 以及可以从数据库中检索到什么, 是非常重要的。 Sr r e e 进程就会直接执行这个 S L v Q 语句 , 而省去从硬 O al是 “ r e 神谕” c 的意思 。在我 国也简称为 甲骨 盘中读取数据的时间 ,这样就大大提高了 S L 句 Q 语 文, 是仅次于微软公 司的世界第二大软件公 司, 该公 的查 询效率 。 司名称就叫 Oal。Oal数据库环境 , r e r e c c 已经成为世 () 2 如果 Sr r e e 进程在高速缓存 中找不 到与之 v 界上最流行的数据库平 台之一 ,并且有进一步扩大 相对应的 S L Q 语句时 , 便会检查这条语句的合法性。 的趋 势。我们可 以使用这个平 台, 为大型企业服务 , 这里主要是对 S L Q 语句的语法进行检查 ,看看其是 同时广大的中小型企业 同样需要 。 r l数据库有一 否合乎语法规则 。如果 Sr r Oa e c e e 进程认为这条 S L v Q 语 个很 重 要 的功能 , 就是 数据查 询 。 句不符合语法规则的时候 ,就会把这个错误信息反
日常工 作 或生 活 中 ,用 户需 要经 常 从数 据 库 中 查 询所 需 要 的数 据 。例 如通 过 查询 一个 企业 的部 门
条件语句加 以限制 我们只需要在查询 中加入一些查询的参数 , 利 EE] 则可以提高数据库 表 D  ̄ , 以检索企业 的所有部门信息 , ET可 而通过查 用 WH R D 条件语句加 以限制 , 询职工表 E P 可以检索企业的所有雇员信息。 M , 在关 响应的速度 ,还能够以最快的速度找出最符合要求 系数据库 中查询数据 ,是使用 S L C 语句来完成 的数 据 。 EE T 实验 6 查询某图书管理表 中作者为姓“ 的所 : 赵” 有图书信息。 S L C 一 { IT N T] o mn- epes n EE T [ S I C cl D u - xr i so 语法 格式 为 : [ is …) R M t l3 a a] F O be】 l , a [ ; 的。其简易语法如下 :
2 OR CL g数据 库技 术 的查询 语 句及 A E1 0
技 巧
WH R E E子句要始终放在 F O R M子句的后面。 我
们都知道 , 数据库查询效率高不高 , 是我们评价数据 在数据库查 数据查询 , 是数据库操作 中最主要的功能之一 。 库设计好坏的一个重要标准。毋庸置疑 , E E条 件语 句 ,是 提 高数 据 库查 询性 有时候数据库查询性能的好坏 ,直接关系到数据库 询 中勤用 WH R 能 的一 个很 重 要 的手段 之 一 。特 别 是在 设 计 到 比较 的运 行效 率 , 系 到数 据库 的选 型。 关 大的表 中查 询符 合条 件 的记 录过 程 中 , 利用 WH R E E 21 简 单查 询语 句 。
s o t mp s ot p W HERE e c t. e ,c t. t de mp. p n =d p .e t o de t o e td p n AND mp. e t o 3 e d p n = 0;
程 会 根据 一定 的规 则 , 这 条语句 进行 优化 。需要 注 3 对 0的部 门名 称 以及该 部 门的雇员
这就 造 成 了 LK 关 键 字 查 询效 I E 名之 间用逗号 隔开 , 的顺序 由我们来指定 。 面以检 方 式来 查询 。显 然 , 列 下 率的低下。 特别是在复杂查询或者大表查询 中, 用户 索雇员名、 岗位工资为例 , 说明查询特定列的方法。
在数据库系统设 这里我们指定表中的两个列 ,其它 的列我们不 可 以明显感觉到速度 比较慢。所以, 要慎用 LK IE关键字。 看。 语法 格 式为 :Q >S L C nme a F O so . 计 中, S L E E Te a , l R M t s ct 2 嵌套 S L子查 询 、 Q e p m ; 嵌套查询就是在外部还有一个查询 。子查询是 实验 3查询表的某些列 , : 在列上使用表达式 : 语 e t e e t e 法 格 式 为 :Q >S L C nme1 "( l3 0 F O 在 slc 内部 还有一 个 slc查 询 常常也 被 称为 内查 S L E E Te a ,2 s + 0 ) R M a
1 OR CL 0 A E 1 g数据库技术的查询原理【2 ’】 -
11数 据 库的 查询 活动 . .
馈给 Ci t在这个语法检查的过程 中,e e 进程只 ln。 e Sr r v 是 进 行语法 上 的检查 ,而不 会对 S L语 句里所 包 含 Q 的关键字等等进行修改。 ( ) Sr r 3 当 e e 进程检查语法后 , S L v 若 Q 语句符合
一
收 稿 日期 :O 1 1— 3 2 l- 2 1
作者简介 : 庞亚萍 (9 6 ) 女 , 1 7~ , 山西祁县人 , 讲师 , 硕士研究生 , 山西 电力职业技术学 院计算机工程系信息安全技术教研 室主 任, 研究 方向为数据库技术及应用。
43
Eq i me t u p n Ma u a t n e h oo yNo3, 0 2 n f cr g T c n l g . 2 1 i
() 5 即便是语 法 、 义 通过检 查 之后 ,ln 还 不 语 Ci t e 的。虽然从表面上看仅仅是简单的分析动作 , 其实不 定能够取得数据。Sr r e e 进程还会继续检查 , v 确认 然, 在这里 还 包含 有许 多 的内容 。 所 连 接 的用户 是 否有 这个 数 据访 问 的权 限 。若 连 接 12 分 析 工作 包含 的 内容 . e r v Ci t e ( )当 Sr r 程 接 收 到 Ci t 送 过 来 的 上 Sre 的用 户 不具有 数 据访 问权 限 的话 ,ln 就 1 ee进 v ln 传 e
《 装备制造技术) 02 2 1 年第 3 期
OR CL O A E 1 g数 据库技术查询性能浅谈
庞 亚萍
( 山西电力职业技术学院, 山西 太原 002 ) 30 1
摘 要: 随着计算机应用的深入 , 应用数据也 随着 日常工作 而迅速增 长, 作为数 据仓库的数据库的重要 性也 日益显著 。 在数据库的各种操作 中, 数据库查询所 占的比重最大 , 也是用户经常使 用的功能之一。笔者首先介 绍 了数据库查询原 理, 然后 介绍 了数 据库 的通 用查询语言工具 , 同时通过具有代表性的实验讲解 了数据库查询性 能的优 化。并就数据库
大写 的为关键字 ;小写的为指定 的名称 ;E E T SLC 子 句指定 所关 心的列 ;R M 子旬指定所要查询 的表 。 FO
S L S L C F O HRb o Q >E E T R M .ok WHE E n me R a LK 赵%’ I E’ ;
LK 关键字作为通配符,我们可以实现很多模 IE 实验 1查询所有列 : : 如上所示执行查询所有列 IE 的操作 , S L C 在 E E T语句后跟上( ) , 。下面以检索所 糊查询。但是 ,当用户在一张大表中采用这个 LK . c 有 部 门 为 例说 明查 询 所 有 列 的 方法 。语 法 格 式 为 : 语 句 的话 ,就 会发 现这 个查 询 语 句 的运 行效 率 非 常 的慢 。 这是 由于在 利用 这些 关键字 查 询 的时候 , 数据 S L .E E T F O sot et Q >S L C R M td p; c . 实 验 2查 询指 定列 : 果要 查询 多个 列 , 么 列 库 系统 不是 通 过索 引来 查 询 ,而 是采 用 顺 序扫 描 的 : 如 那
s o t mp; c t. e
询 。嵌 套 查询 内层 子查 询 通 常作 为搜 索 条 件 的一 部
E E或 H V N A I G子句 中。 从上面语句 中可 以看出,表达式 的运算是有优 分呈现在 WH R 实验 7 : 部 ( L S 雇员 的总人数 : 显示 S E ) A 先级的 , 和程 序 中 的一 样 , 乘 除后 加 减 , 号 强 制 先 括 语 法 格 式 为 :Q > E E T cu t( n ) rm S L S L C o n e o f mp o 优先级 。最后我们查询 出每个雇员月奖是 3 0 的 0元
意 的是 , 个 优化是 有 限的 。 这
实验 5查询 E : MP表 和 D P E T表 , 示 部 门号 为 显 语 法 格式 为 :Q > S L C a , a R M S L E E Te me nme O n d F
e e 进程接下去就对书写语 v 通过分析 S L Q 语句中的 Sl t e c语句 ,来看数据 语法上的定义话 ,则 Sr r e 句 中的字段、 数据类型等 内容进行检查。确认这些字 库进 行 的查询 活 动 。 数据类型是否在数据库中。因此如果表名与列名 首先 , 要在 Ci t ln 书写 S L语句并执行时 ,ln e Q Ci t 段 、 e 数据库会就会反馈错误信息给 C et i ln。 就把 这 条 S L语 句发 送 给 Sre,evr Q evrSre 的进程 就会 不贴切的话 , () 4 经过 检查 ,Q S L语 句 的语法 、 义 都正 确后 , 语 来处 理 这条 Slc 语 句 。 eet 以防我们在查询的过程 中, 其次,当 S L Q 语句被传送到 Sr r ,e e进 为了保障数据的一致性 , e e后 Sr r v v 其他用户对查询对象的结构进行修改 ,系统就会锁 程就 会对 传送 过来 的语 句进行 分析 。 同理 ,这个分析 的工作 ,也是在 Sr r e e 方进行 定 我们需 要查 询 的对 象 。 v
不能够获取这些数据。所 以, 数据库 Sr r e e 进程是先 v
检 查语 法 与语义 , 然后 才会 检查访 问权 限 。
s o te c t・ mp;
这样显示的结果 比较直观 ,用户操作起来也很 () 6 经过上述一些列检查后 , 当我们确认语句 方便。 与语 法 都 没 有 问题 ,同时 也有 查 询权 限 的话 ,evr Sre 1 高级 S L连接 查 询 、 Q
全年 总工 资来 。
sot m E Ed pn =slc dpn o so .e t cte pWH R eto ( et e to rm td p . e f ct
h r n me ’AL S) ; 实 验 4: 列 上 起 一 个别 名 : 法 格 式 为 :Q > w eed a =S E ’ 在 语 S L
查 询 性 能 进 行 介 绍 和探 索 。 关键词 : 数据 库; ORA L ; C E 查询 : 能 性
中图分类号 :P 9 T 32
文献标识码 : B
文章编号 :6 2 5 5 ( 0 )3 o 4 一 3 17— 4 X 2 1 O -o 3 O 2
数据库 中会存储各类信息( 学校记录 移动电话记 S L Q 语句时, 会先在数据库 的高速缓存 中查找 , 查看 录、 下载的铃音 、 采购的商品)我们每天都在自觉或不 有没有存在相 同语句的执行计划。假如在数据高速 。 自 觉地与数据打交道。了解数据库 中存储了哪些内容 缓存 中,恰好有别人在使用这个查 询语句 的话 , 那 以及可以从数据库中检索到什么, 是非常重要的。 Sr r e e 进程就会直接执行这个 S L v Q 语句 , 而省去从硬 O al是 “ r e 神谕” c 的意思 。在我 国也简称为 甲骨 盘中读取数据的时间 ,这样就大大提高了 S L 句 Q 语 文, 是仅次于微软公 司的世界第二大软件公 司, 该公 的查 询效率 。 司名称就叫 Oal。Oal数据库环境 , r e r e c c 已经成为世 () 2 如果 Sr r e e 进程在高速缓存 中找不 到与之 v 界上最流行的数据库平 台之一 ,并且有进一步扩大 相对应的 S L Q 语句时 , 便会检查这条语句的合法性。 的趋 势。我们可 以使用这个平 台, 为大型企业服务 , 这里主要是对 S L Q 语句的语法进行检查 ,看看其是 同时广大的中小型企业 同样需要 。 r l数据库有一 否合乎语法规则 。如果 Sr r Oa e c e e 进程认为这条 S L v Q 语 个很 重 要 的功能 , 就是 数据查 询 。 句不符合语法规则的时候 ,就会把这个错误信息反
日常工 作 或生 活 中 ,用 户需 要经 常 从数 据 库 中 查 询所 需 要 的数 据 。例 如通 过 查询 一个 企业 的部 门
条件语句加 以限制 我们只需要在查询 中加入一些查询的参数 , 利 EE] 则可以提高数据库 表 D  ̄ , 以检索企业 的所有部门信息 , ET可 而通过查 用 WH R D 条件语句加 以限制 , 询职工表 E P 可以检索企业的所有雇员信息。 M , 在关 响应的速度 ,还能够以最快的速度找出最符合要求 系数据库 中查询数据 ,是使用 S L C 语句来完成 的数 据 。 EE T 实验 6 查询某图书管理表 中作者为姓“ 的所 : 赵” 有图书信息。 S L C 一 { IT N T] o mn- epes n EE T [ S I C cl D u - xr i so 语法 格式 为 : [ is …) R M t l3 a a] F O be】 l , a [ ; 的。其简易语法如下 :
2 OR CL g数据 库技 术 的查询 语 句及 A E1 0
技 巧
WH R E E子句要始终放在 F O R M子句的后面。 我
们都知道 , 数据库查询效率高不高 , 是我们评价数据 在数据库查 数据查询 , 是数据库操作 中最主要的功能之一 。 库设计好坏的一个重要标准。毋庸置疑 , E E条 件语 句 ,是 提 高数 据 库查 询性 有时候数据库查询性能的好坏 ,直接关系到数据库 询 中勤用 WH R 能 的一 个很 重 要 的手段 之 一 。特 别 是在 设 计 到 比较 的运 行效 率 , 系 到数 据库 的选 型。 关 大的表 中查 询符 合条 件 的记 录过 程 中 , 利用 WH R E E 21 简 单查 询语 句 。
s o t mp s ot p W HERE e c t. e ,c t. t de mp. p n =d p .e t o de t o e td p n AND mp. e t o 3 e d p n = 0;
程 会 根据 一定 的规 则 , 这 条语句 进行 优化 。需要 注 3 对 0的部 门名 称 以及该 部 门的雇员
这就 造 成 了 LK 关 键 字 查 询效 I E 名之 间用逗号 隔开 , 的顺序 由我们来指定 。 面以检 方 式来 查询 。显 然 , 列 下 率的低下。 特别是在复杂查询或者大表查询 中, 用户 索雇员名、 岗位工资为例 , 说明查询特定列的方法。
在数据库系统设 这里我们指定表中的两个列 ,其它 的列我们不 可 以明显感觉到速度 比较慢。所以, 要慎用 LK IE关键字。 看。 语法 格 式为 :Q >S L C nme a F O so . 计 中, S L E E Te a , l R M t s ct 2 嵌套 S L子查 询 、 Q e p m ; 嵌套查询就是在外部还有一个查询 。子查询是 实验 3查询表的某些列 , : 在列上使用表达式 : 语 e t e e t e 法 格 式 为 :Q >S L C nme1 "( l3 0 F O 在 slc 内部 还有一 个 slc查 询 常常也 被 称为 内查 S L E E Te a ,2 s + 0 ) R M a
1 OR CL 0 A E 1 g数据库技术的查询原理【2 ’】 -
11数 据 库的 查询 活动 . .
馈给 Ci t在这个语法检查的过程 中,e e 进程只 ln。 e Sr r v 是 进 行语法 上 的检查 ,而不 会对 S L语 句里所 包 含 Q 的关键字等等进行修改。 ( ) Sr r 3 当 e e 进程检查语法后 , S L v 若 Q 语句符合
一
收 稿 日期 :O 1 1— 3 2 l- 2 1
作者简介 : 庞亚萍 (9 6 ) 女 , 1 7~ , 山西祁县人 , 讲师 , 硕士研究生 , 山西 电力职业技术学 院计算机工程系信息安全技术教研 室主 任, 研究 方向为数据库技术及应用。
43
Eq i me t u p n Ma u a t n e h oo yNo3, 0 2 n f cr g T c n l g . 2 1 i
() 5 即便是语 法 、 义 通过检 查 之后 ,ln 还 不 语 Ci t e 的。虽然从表面上看仅仅是简单的分析动作 , 其实不 定能够取得数据。Sr r e e 进程还会继续检查 , v 确认 然, 在这里 还 包含 有许 多 的内容 。 所 连 接 的用户 是 否有 这个 数 据访 问 的权 限 。若 连 接 12 分 析 工作 包含 的 内容 . e r v Ci t e ( )当 Sr r 程 接 收 到 Ci t 送 过 来 的 上 Sre 的用 户 不具有 数 据访 问权 限 的话 ,ln 就 1 ee进 v ln 传 e
《 装备制造技术) 02 2 1 年第 3 期
OR CL O A E 1 g数 据库技术查询性能浅谈
庞 亚萍
( 山西电力职业技术学院, 山西 太原 002 ) 30 1
摘 要: 随着计算机应用的深入 , 应用数据也 随着 日常工作 而迅速增 长, 作为数 据仓库的数据库的重要 性也 日益显著 。 在数据库的各种操作 中, 数据库查询所 占的比重最大 , 也是用户经常使 用的功能之一。笔者首先介 绍 了数据库查询原 理, 然后 介绍 了数 据库 的通 用查询语言工具 , 同时通过具有代表性的实验讲解 了数据库查询性 能的优 化。并就数据库
大写 的为关键字 ;小写的为指定 的名称 ;E E T SLC 子 句指定 所关 心的列 ;R M 子旬指定所要查询 的表 。 FO
S L S L C F O HRb o Q >E E T R M .ok WHE E n me R a LK 赵%’ I E’ ;
LK 关键字作为通配符,我们可以实现很多模 IE 实验 1查询所有列 : : 如上所示执行查询所有列 IE 的操作 , S L C 在 E E T语句后跟上( ) , 。下面以检索所 糊查询。但是 ,当用户在一张大表中采用这个 LK . c 有 部 门 为 例说 明查 询 所 有 列 的 方法 。语 法 格 式 为 : 语 句 的话 ,就 会发 现这 个查 询 语 句 的运 行效 率 非 常 的慢 。 这是 由于在 利用 这些 关键字 查 询 的时候 , 数据 S L .E E T F O sot et Q >S L C R M td p; c . 实 验 2查 询指 定列 : 果要 查询 多个 列 , 么 列 库 系统 不是 通 过索 引来 查 询 ,而 是采 用 顺 序扫 描 的 : 如 那
s o t mp; c t. e
询 。嵌 套 查询 内层 子查 询 通 常作 为搜 索 条 件 的一 部
E E或 H V N A I G子句 中。 从上面语句 中可 以看出,表达式 的运算是有优 分呈现在 WH R 实验 7 : 部 ( L S 雇员 的总人数 : 显示 S E ) A 先级的 , 和程 序 中 的一 样 , 乘 除后 加 减 , 号 强 制 先 括 语 法 格 式 为 :Q > E E T cu t( n ) rm S L S L C o n e o f mp o 优先级 。最后我们查询 出每个雇员月奖是 3 0 的 0元