PowerPoint 演示文稿



Similar documents
说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

《C语言基础入门》课程教学大纲

I

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管


2006年顺德区高中阶段学校招生录取分数线

修改版-操作手册.doc

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

国债回购交易业务指引

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

第2章 数据类型、常量与变量

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

Microsoft Word - 第7章 图表反转形态.doc

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

第 一 部 分 MagiCAD for Revit 安 装 流 程

系统设计文档_样稿管理模块 V1.1_.doc

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

名 称 生 命 科 学 学 院 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

深圳市新亚电子制程股份有限公司

第 期 李 伟 等 用 方 法 对 中 国 历 史 气 温 数 据 插 值 可 行 性 讨 论

中国石化油品销售企业CRM调研报告

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业


 编号:

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

珠江钢琴股东大会


附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2

Microsoft Word - 文件汇编.doc

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

ETF、分级基金规模、份额变化统计

一、资质申请

教师上报成绩流程图

<4D F736F F D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>

Microsoft Word - 资料分析练习题09.doc

<4D F736F F D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

2014年中央财经大学研究生招生录取工作简报

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位

采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

中 国 软 科 学 年 第 期!!!

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63>

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

<4D F736F F D20B3D6B2D6CFDEB6EEB1EDB8F1D7EED6D52E646F63>

国际财务报告准则第13号——公允价值计量

登录、注册功能的测试用例设计.doc

境 外 上 市 外 资 股 股 东 持 有 股 份 总 数 (H 股 ) 489,157,907 3 出 席 会 议 的 股 东 所 持 有 表 决 权 股 份 数 占 公 司 有 表 决 权 股 份 总 数 的 其 中 :A 股 股 东 持 股 占 股 份 总 数 的

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 ( 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 ( 首 页

世华财讯模拟操作手册

上证指数

随着执业中医师资格考试制度的不断完善,本着为我校中医学专业认证服务的目的,本文通过对我校中医类毕业生参加2012年和2013年的中医执业医师考试成绩及通过率、掌握率进行分析,并与全国的平均水平进行差异比较分析,以此了解我校执业中医师考试的现状,进而反映我校中医类课程总体教学水平,发现考核知识模块教学中存在的不足,反馈给相关学院和教学管理部门,以此提高教学和管理水平。

抗 日 战 争 研 究 年 第 期

Microsoft Word - 第5章.doc

<433A5C C6B73625C B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A CDA8D3C3B0E6A3A92E646F63>

关于修订《沪市股票上网发行资金申购

(Microsoft Word - NCRE\314\345\317\265\265\367\325\37313\324\27221\272\3051.doc)

!!!!!!!!!!

收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 一 人 员 经 费 一 般 财 力 人 员 支 出 成 品

中 日 信 息 化 的 比 较 与 合 作 一 中 日 信 息 化 的 规 模 比 较

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc

现 场 会 议 时 间 为 :2016 年 5 月 19 日 网 络 投 票 时 间 为 :2016 年 5 月 18 日 年 5 月 19 日 其 中 通 过 深 圳 证 券 交 易 所 交 易 系 统 进 行 网 络 投 票 的 时 间 为 2016 年 5 月 19 日 9:30-

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

四川省农村义务教育学生

·岗位设置管理流程

<4D F736F F D20CAAEC8FDCEE5B9E6BBAED7EED6D5B8E5352E33312E646F63>

黄 金 原 油 总 持 仓 增 长, 同 比 增 幅 分 别 为 4.2% 和 4.1% 而 铜 白 银 以 及 玉 米 则 出 现 减 持, 减 持 同 比 减 少 分 别 为 9.4%,9.4% 以 及 6.5% 大 豆, 豆 粕 结 束 连 续 4 周 总 持 仓 量 增 长, 出 现 小 幅

合 并 计 算 配 售 对 象 持 有 多 个 证 券 账 户 的, 多 个 证 券 账 户 市 值 合 并 计 算 确 认 多 个 证 券 账 户 为 同 一 配 售 对 象 持 有 的 原 则 为 证 券 账 户 注 册 资 料 中 的 账 户 持 有 人 名 称 有 效 身 份 证 明 文 件

第 六 章 债 券 股 票 价 值 评 估 1 考 点 一 : 债 券 价 值 的 影 响 因 素 2

证券代码: 证券简称:长城电脑 公告编号:

际 联 考 的 非 美 术 类 本 科, 提 前 批 本 科 体 育 类 第 一 批 第 二 批 第 三 批 的 理 工 类 和 文 史 类 本 科 平 行 志 愿, 考 生 可 以 填 报 6 所 院 校 志 愿 符 合 贫 困 地 区 专 项 计 划 和 农 村 考 生 专 项 计 划 报 考

目 录 一 激 活 账 号... 2 二 忘 记 密 码 后 如 何 找 回 密 码?... 3 三 如 何 管 理 学 校 信 息 及 球 队 学 生 教 师 等 信 息... 6 四 如 何 发 布 本 校 校 园 文 化? 五 如 何 向 教 师 发 送 通 知? 六

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

生产支援功能 使用说明书(IP-110 篇)

引言

导 数 和 微 分 的 概 念 导 数 的 几 何 意 义 和 物 理 意 义 函 数 的 可 导 性 与 连 续 性 之 间 的 关 系 平 面 曲 线 的 切 线 和 法 线 导 数 和 微 分 的 四 则 运 算 基 本 初 等 函 数 的 导 数 复 合 函 数 反 函 数 隐 函 数 以

火车浏览器脚本制作教程

年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公

Microsoft Word - 第3章.doc

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

抗 日 战 争 研 究 % 年 第 期! # # % %



类 似 地, 又 可 定 义 变 下 限 的 定 积 分 : ( ). 与 ψ 统 称 为 变 限 积 分. f ( ) d f ( t) dt,, 注 在 变 限 积 分 (1) 与 () 中, 不 可 再 把 积 分 变 量 写 成 的 形 式 ( 例 如 ) 以 免 与 积 分 上 下 限 的

超 级 玛 丽 JAVA 小 游 戏 测 试 报 告 1. 导 言 1.1 编 写 目 的 该 文 档 的 目 的 是 描 述 超 级 玛 丽 JAVA 小 游 戏 的 系 统 测 试 的 总 结 报 告, 其 主 要 内 容 包 括 : 系 统 环 境 的 介 绍 功 能 的 实 现 的 测 试

证监会行政审批事项目录

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

<4D F736F F D20B2CEBFBC3232C6DAD1A7CFB0D3EBCBBCBFBCC4DAD2B3>

全国艺术科学规划项目

国家职业标准:网络课件设计师

Cybozu Garoon 3 管理员手册

Transcription:

诗 檀 软 件 -Oracle 开 发 优 化 基 础 Oracle 高 级 技 术 顾 问 汪 伟 华 DOC#: ZXW-7

古 希 腊 的 Delphi( 世 界 中 心 ), 屹 立 着 Parnassus Mount( 诗 檀 山 ), 山 上 有 一 座 阿 波 罗 神 庙, 庙 中 住 着 女 祭 司 (Oracle)

议 程 数 据 库 开 发 员 需 要 注 意 些 什 么 如 何 快 速 定 位 及 讣 知 数 据 库 问 题 点 如 何 编 写 高 性 能 SQL 基 础 知 识 如 何 编 写 高 性 能 SQL 执 行 计 划 调 整 思 路

数 据 库 开 发 员 需 要 注 意 些 什 么 当 前 应 用 开 发 现 状 - 从 业 人 员 应 用 开 发 人 员 的 数 据 库 基 础 参 差 丌 一 大 量 1-3 年 工 作 经 验 的 程 序 员 缺 乏 数 据 库 基 础 知 识 和 优 化 经 验 更 注 重 应 用 功 能 实 现 丌 关 注 数 据 库 性 能 最 懂 数 据 库 的 优 化 人 员 成 为 救 急 人 员

数 据 库 开 发 员 需 要 注 意 些 什 么 对 SQL 开 发 初 期 优 化 普 遍 关 注 度 丌 够 数 据 库 像 个 黑 盒 子? 数 据 库 总 是 访 问 通 用 API 且 其 框 架 机 制 复 杂 隐 蔽 SQL 开 发 回 避, 丌 关 心 SQL 实 现 在 还 未 模 块 化 就 先 上 马 运 行 SQL 开 发 没 想 透 如 果 SQL 返 回 值 正 确, 那 就 OK SQL 开 发 普 遍 心 态 结 果 在 测 试 环 境 上 运 行 良 好 的 SQL 语 句, 在 生 产 环 境 却 发 生 了 性 能 问 题!!

数 据 库 开 发 员 需 要 注 意 些 什 么 RDB 下 的 SQL 开 发 的 注 意 点 代 码 重 用 模 块 化 共 享 池 使 用 适 当 方 法 针 对 数 据 特 点, 采 用 适 当 算 法 消 除 浪 费 的 处 理 减 少 重 复 ( 循 环 ) 处 理 SQL 语 句 重 用 提 高 Oracle 内 部 的 代 码 重 用 率 使 用 适 当 的 索 引 明 确 搜 寻 数 据 的 条 件 减 少 SQL 执 行 时 间 适 当 的 表 连 接, 在 Oracle 内 部 减 少 重 复 处 理

数 据 库 开 发 员 需 要 注 意 些 什 么 对 关 系 型 数 据 库 的 理 解 父 记 录 :A 子 记 录 :B 1 2 3 200 2 3 : 200 2-1 2-2 2-3 2-30 1-1 1-2 1-3 1-50 层 次 型 数 据 库 处 理 基 表 :A 从 属 表 :B AK N1 BK AK C1 1 1-1 1 : 1-50 2-1 : 2-30 关 系 型 数 据 库 处 理 : 1 2 : 2 处 処 理 逻 ロジック 辑 WHILE (A 的 值 为 1 或 2) { 查 找 并 获 得 A 对 应 信 息 (SELECT) WHILE ( 当 B 的 键 不 A 当 前 记 录 相 关 ) { 查 找 并 获 得 B 对 应 信 息 (SELECT) } } 发 起 Select 语 句 的 数 量 不 循 环 的 量 相 同 RDB 本 来 使 のSQL 用 SELECT A.N1, B.C1 FROM A,B WHERE A.AK = B.AK AND A.AK IN (1, 2);

数 据 库 开 发 员 需 要 注 意 些 什 么 如 何 做 到 性 能 下 降 较 少 的 DB 应 用 开 发 从 DB 处 理 角 度 来 看 潜 在 的 应 用 问 题 了 解 并 承 讣 DB 处 理 瓶 颈 理 解 Oracle 基 本 操 作 避 免 一 些 丌 佳 的 编 码 ( 如 单 个 SQL 运 行 没 问 题, 但 在 Oracle 整 体 会 有 问 题 ) 了 解 优 化 器 行 为, 从 而 编 写 Oracle 所 期 望 的 SQL 了 解 操 作 中 的 所 用 到 的 数 据 尽 管 开 发 员 在 处 理 逻 辑 ( 条 件 分 支 ) 中 已 经 意 识 到 了 这 一 点, 但 一 般 丌 会 意 识 到 所 处 理 的 数 据 量 问 题

数 据 库 开 发 员 需 要 注 意 些 什 么 优 化 成 本 收 益 比 ( 设 计 > 开 发 > 生 产 ) 成 本 费 用 随 时 间 推 移 设 计 开 发 生 产 调 优 收 益 时 间

如 何 快 速 定 位 及 讣 知 数 据 库 问 题 点 对 于 应 用 数 据 库 从 应 用 角 度 出 发, 用 过 DB 连 接 驱 劢 程 序 (JDBC 驱 劢 等 ), 访 问 数 据 库 应 用 逻 辑 数 据 库 START DB 连 接 DB 处 理 END SQL 执 行 Fetch COMMIT ROLLBACK DB 断 连?

如 何 快 速 定 位 及 讣 知 数 据 库 问 题 点 应 用 程 序 SQL 发 出 后 的 DB 内 部 处 理 数 据 库 服 务 器 START DB 处 理 END 应 用 逻 辑 DB 连 接 SQL 执 行 Fetch COMMIT ROLLBACK DB 断 连 服 务 器 迚 程 接 收 请 求 ( 连 接,SQL) SQL 语 法 语 义 分 析 生 成 SQL 执 行 计 划 SQL 执 行 取 得 结 果

如 何 快 速 定 位 及 讣 知 数 据 库 问 题 点 数 据 库 处 理 时 间 通 过 下 图, 了 解 哪 些 因 素 可 能 会 成 为 瓶 颈 可 以 看 到 数 据 库 处 理 时 间 被 细 分 成 三 部 分 : 1) CPU 处 理 时 间 2) 等 待 时 间 ( 资 源 等 待, 同 步 处 理 ) 3) 等 待 时 间 ( 磁 盘 I/O 处 理 ) START 响 应 时 间 前 端 应 用 服 务 器 / 网 络 Oracle Elaps 数 据 库 服 务 器 CPU 资 源 等 待 DISK I/O 可 成 为 瓶 颈 的 因 素 非 规 范 化 表 设 计 数 据 放 置 丌 合 理 执 行 计 划 丌 正 确 数 据 碎 片 化 丌 必 要 的 SQL 解 析 并 发 ( 资 源 竞 争 ) 资 源 枯 竭 END 丌 必 要 的 SQL 解 析 结 合 负 载 排 序

Oracle 处 理 时 间 如 何 快 速 定 位 及 讣 知 数 据 库 问 题 点 如 何 使 数 据 库 处 理 得 更 快 有 效 利 用 CPU 资 源 CPU 处 理 时 间 ( 使 用 率 20%) 高 速 化 减 少 等 待 时 间 降 低 磁 盘 I/O 降 低 同 步 处 理 所 需 时 间 同 步 处 理 等 待 时 间 Disk I/O (10000block) CPU 处 理 时 间 ( 使 用 率 80%) 同 步 等 待 Disk I/O (6000block) 等 待 (Wait) 时 间 Oracle 处 理 时 间 = CPU 处 理 时 间 + 同 步 处 理 等 待 时 间 + Disk I/O 等 待 时 间

如 何 快 速 定 位 及 讣 知 数 据 库 问 题 点 如 何 有 效 利 用 CPU 在 于 怎 样 写 好 SQL 语 句, 并 优 化 数 据 库 内 部 处 理 SQL 语 句 的 重 用 表 连 接 非 常 有 效 的 SQL 调 优 数 据 库 服 务 器 START DB 处 理 END 应 用 逻 辑 DB 连 接 SQL 执 行 Fetch COMMIT ROLLBACK DB 断 连 服 务 器 迚 程 接 收 请 求 ( 连 接,SQL) SQL 语 法 语 义 分 析 生 成 SQL 执 行 计 划 SQL 执 行 取 得 结 果

如 何 快 速 定 位 及 讣 知 数 据 库 问 题 点 处 理 时 间 ( 其 中 CPU 的 处 理 使 用 状 态 ) 等 待 时 间 某 处 是 否 存 在 瓶 颈? ( 资 源 等 待, 等 待 完 成 处 理 的 状 态 ) Time Model System Stats DB/Inst: ORACLE10/oracle10g Snaps: 1-2 -> Ordered by % of DB time desc, Statistic name Statistic Time (s) % of DB time ----------------------------------- -------------------- ------------ sql execute elapsed time 83.6 92.7 DB CPU 13.9 15.4 parse time elapsed 9.7 10.7 hard parse elapsed time 9.6 10.7 connection management call elapsed 0.1.1 PL/SQL execution elapsed time 0.1.1 PL/SQL compilation elapsed time 0.0.0 repeated bind elapsed time 0.0.0 failed parse elapsed time 0.0.0 DB time 90.2 background elapsed time 14.6 background cpu time 0.7 ------------------------------------------------------------- CPU 是 否 得 到 了 有 效 使 用? Wait Events DB/Inst: ORACLE10/oracle10g Snaps: 1-2 -> s - second, cs - centisecond, ms - millisecond, us - microsecond -> %Timeouts: value of 0 indicates value was <.5%. Value of null is truly 0 -> Only events with Total Wait Time (s) >=.001 are shown -> ordered by Total Wait Time desc, Waits desc (idle events last) Avg %Time Total Wait wait Waits Event Waits -outs Time (s) (ms) /txn --------------------------------- ------------ ------ ---------- ------ -------- read by other session 2,404 0 31 13 72.8 db file scattered read 1,019 0 25 24 30.9 db file sequential read 2,323 0 10 4 70.4 db file parallel write 1,355 0 6 5 41.1 library cache load lock 45 0 5 103 1.4 control file sequential read 601 0 3 6 18.2 control file parallel write 152 0 2 12 4.6 log file parallel write 47 0 1 12 1.4 log file sync 13 0 0 15 0.4 row cache lock 51 0 0 4 1.5 SQL*Net more data to client 475 0 0 0 14.4 cursor: pin S wait on X 3 100 0 11 0.1 direct path write temp 4 0 0 8 0.1 os thread startup 1 0 0 12 0.0 latch free 6 0 0 1 0.2 SQL*Net message from client 448 0 684 1528 13.6 Streams AQ: qmn slave idle wait 13 0 364 27999 0.4 Streams AQ: qmn coordinator idle 26 50 364 13999 0.8 jobq slave wait 121 96 363 2997 3.7 virtual circuit status 12 100 360 30000 0.4

如 何 编 写 高 性 能 SQL 基 础 知 识 SQL 语 句 重 用 共 享 池 解 析 SQL 语 句 的 执 行 计 划 被 存 储 在 共 享 SQL 区 (Shared SQL Area) 如 果 每 个 用 户 已 经 运 行 相 同 的 SQL, 并 使 用 相 同 的 共 享 SQL 区 共 享 池 系 统 全 局 区 SGA 库 缓 存 数 据 字 典 缓 存 数 据 库 高 速 缓 冲 区 REDO 日 志 缓 冲 区 SELECT name FROM emp SELECT name FROM emp SELECT name FROM dept

如 何 编 写 高 性 能 SQL 基 础 知 识 SQL 语 句 重 用 (1) 使 用 绑 定 变 量 SELECT * FROM EMP WHERE EMPNO = :v_empno 丌 使 用 绑 定 变 量 共 享 池 系 统 全 局 区 SGA 库 缓 存 数 据 字 典 缓 存 数 据 库 高 速 缓 冲 区 REDO 日 志 缓 冲 区 SELECT * FROM emp SELECT * FROM emp WHERE empno SELECT = 2671 * FROM emp SELECT * WHERE FROM emp empno = 4328 WHERE empno = 5211 SELECT * FROM WHERE emp empno = 5223 WHERE empno = 8826 共 享 池 浪 费 SQL 硬 解 析 (HARD PARSE ) 过 多 的 数 据 字 典 引 用 处 理 加 大 了 数 据 库 负 荷

如 何 编 写 高 性 能 SQL 基 础 知 识 SQL 语 句 重 用 (2) 创 建 一 个 SQL 编 码 规 范, 并 按 规 范 迚 行 编 码 ( 请 注 意 : 下 列 看 似 相 同 的 语 句,Oracle 并 丌 讣 为 其 相 同!! 因 此 并 丌 会 得 到 重 用 ) SELECT * FROM EMP WHERE EMPNO = :v_empno SELECT * FROM EMP WHERE EMPNO = :v_empno SELECT * FROM EMP WHERE EMPNO = :v_empno

如 何 编 写 高 性 能 SQL 基 础 知 识 根 据 表 的 特 点 及 数 据 增 长 趋 势 来 判 断 (1) 特 性 表 类 型 行 数 更 新 时 间 频 率 数 据 标 识 列 基 表 少 每 天, 频 率 : 小 主 键 表 显 示 了 基 表 的 相 互 ( 交 叉 表 ) 的 关 系 (*1) 少 相 关 切 换 时 间 ( 年, 月 ), 频 率 : 小 相 关 的 主 表 的 关 键 列 从 属 表 ( 详 细 ) 多 每 天, 频 率 : 大 列 数 据 ( 标 志 类 型 ), 日 期 ( 交 易 的 日 期 等 ) 的 状 态 历 史 表 多 日 报 ( 添 加 数 据 ); 每 年, 每 月 ( 数 据 删 除 ) 主 键 + 日 期 根 据 增 长 趋 势 来 判 断 数 据 量 该 列 值 的 分 布, 即 表 示 数 据 的 状 态

如 何 编 写 高 性 能 SQL 基 础 知 识 根 据 表 的 特 点 及 数 据 增 长 趋 势 来 判 断 (2) 仔 细 参 照 业 务 分 析 人 员 对 表 业 务 的 定 义 大 致 的 数 据 编 号, 表 定 义, 索 引 定 义 所 获 取 信 息, 这 将 对 后 继 优 化 有 帮 劣 ( 按 DBA 要 求 ) 数 量 : 数 据 分 布 : 除 了 上 面 提 到 的 索 引 信 息 : SELECT count(*) FROM < 表 名 >; SELECT count(distinct A_id) FROM < 表 名 >; SELECT < 列 名 >, count(*) FROM < 表 名 > GROUP BY < 列 名 >; SELECT i.table_name,i.index_name, ic.column_position,ic.column_name FROM user_indexes i, user_ind_columns ic WHERE i.index_name = ic.index_name ORDER BY i.table_name, i.index_name, ic.column_position;

如 何 编 写 高 性 能 SQL 基 础 知 识 细 化 数 据 哪 些 字 段 常 被 用 于 检 索? 订 单 表 表 分 析 : 订 单 号 订 购 日 期 客 户 号 订 单 状 态 1000001 2007/10/10 2345 1 1000002 2007/10/10 8733 9 所 有 订 单 : 增 加 5000000 张 ( 五 年 ), 增 长 速 度 约 为 2500 张 / 每 天 客 户 数 量 :50,000 订 单 状 态 : 1 ( 订 单 ), 2-4 ( 其 它 状 态 ), 9 ( 完 成 ) 需 查 询 的 列 名 数 据 统 计 查 询 率 订 单 编 号 按 订 单 划 分 : 1 张 1/5,000,000 订 购 日 期 按 1 天 划 分 : 2,500 张 1/2,000 客 户 号 按 客 户 均 匀 划 分 : 100 张 1/5,0000 订 单 状 态 状 态 为 9 的 比 率 假 设 为 90%: 状 态 1-4 500,000 张 状 态 9 4,500, 000 张 状 态 '1'-'4' 占 全 部 : 1/10 状 态 9 占 全 部 : 9/10

如 何 编 写 高 性 能 SQL 基 础 知 识 索 引 不 数 据 检 索 创 建 索 引 以 迚 行 有 效 率 的 数 据 查 询 数 据 量 少 时, 即 便 没 有 索 引, 全 表 搜 索 也 丌 成 问 题 数 据 量 大 时, 搜 索 性 能 问 题 ( 特 别 是 全 表 搜 索 ) 才 会 产 生 全 表 检 索 使 用 索 引 检 索 使 用 索 引 范 围 检 索

如 何 编 写 高 性 能 SQL 基 础 知 识 数 据 检 索 中 对 索 引 的 使 用 查 询 中 使 用 了 条 件 列 限 制, 但 列 相 关 索 引 似 乎 没 起 作 用 当 条 件 的 选 择 性 较 差, 满 足 条 件 的 数 据 比 例 较 多 时 ( 如 查 询 3 年 运 营 中 其 中 1 年 的 数 据 ) 一 般 查 询 量 为 30% 或 更 多 时, 全 表 扫 描 往 往 比 用 索 引 更 高 效 查 询 列 DISTINCT 唯 一 值 较 少 的 情 况 ( 如 男 女 性 别 区 分 查 询 ) 特 别 对 于 数 据 仓 库 (DWH) 处 理, 则 有 必 要 建 立 bitmap 索 引 对 于 Where 条 件 中 的 查 询 列, 丌 要 盲 目 地 添 加 索 引 查 询 中 未 使 用 条 件 限 制, 即 便 存 在 索 引 SQL 语 句 查 询 丌 会 使 用 此 索 引 如 何 让 SQL 语 句 查 询 用 到 索 引 ( 开 发 者 的 责 任 )

如 何 编 写 高 性 能 SQL 基 础 知 识 通 过 索 引 迚 行 数 据 检 索 参 考 乊 前 的 例 子 创 建 索 引 需 查 询 的 列 名 数 据 统 计 查 询 率 索 引 索 引 索 引 订 单 编 号 按 订 单 划 分 : 1 张 1/5,000,000 订 购 日 期 按 1 天 划 分 : 2,500 张 1/2,000 顾 客 号 按 客 户 均 匀 划 分 : 100 张 1/5,000 订 单 状 态 状 态 为 9 的 比 率 假 设 为 90%: 状 态 1-4 500,000 张 状 态 9 4,500, 000 张 状 态 '1'-'4' 占 全 部 : 1/10 状 态 9 占 全 部 : 9/10 通 过 状 态 区 分 订 单, 若 查 询 条 件 订 单 状 态 = 9, 则 更 适 用 于 全 表 扫 描 的 情 况

如 何 编 写 高 性 能 SQL 基 础 知 识 表 索 引 数 量 问 题 索 引 太 多 会 导 致 更 新 表 的 速 度 变 慢 表 的 更 新 时, 维 护 索 引 会 有 I/O 负 荷 发 生 特 别 是 批 处 理 时, 性 能 下 降 尤 其 明 显 Disk 空 间 消 耗 量 变 大 不 表 相 比, 索 引 中 为 使 用 的 部 分 将 更 多 如 图, 此 表 的 INSERT 操 作 需 要 维 护 3 个 索 引

如 何 编 写 高 性 能 SQL 基 础 知 识 表 连 接 多 表 连 接, 会 迚 行 内 部 排 序 循 环 处 理 表 A 表 B Nested Loop 10 20 SELECT A.xx, B.yy, C.zz FROM A, B, C WHERE A.COL1 = B.COL1 AND B.COL2 = C.COL2 AND A.KEY in (10, 20); 表 C 考 虑 表 扫 描 的 先 后 顺 序 考 虑 索 引 的 有 效 性 使 用

如 何 编 写 高 性 能 SQL 基 础 知 识 表 连 接 (Nested Loop) 查 询 流 程 : 通 过 优 化 器 确 定 驱 劢 表 ( 外 部 表 ) 迚 行 以 下 的 循 环 处 理 : 提 取 驱 劢 表 中 有 效 数 据 的 一 行 ( 可 以 访 问 索 引, 也 可 以 无 索 引 ) 在 其 仕 表 ( 内 部 表 ) 查 找 匹 配 的 有 效 数 据 并 提 取 ( 访 问 索 引 ) 将 数 据 返 回 到 Oracle 客 户 端 注 意 事 项 : 被 驱 劢 表 ( 内 部 表 ) 如 果 没 有 索 引 的 话, 查 询 性 能 将 很 差

如 何 编 写 高 性 能 SQL 基 础 知 识 表 连 接 (Sort Merge) 查 询 流 程 : 表 A PGA, 临 时 表 空 间 表 B 对 表 A 排 序 排 序 排 序 对 表 B 排 序 合 并 对 排 序 后 的 表 迚 行 合 并 处 理 注 意 事 项 : 大 数 据 量 的 sort merge 需 要 注 意 OLTP 场 景 下 使 用 sort merge 需 要 注 意

如 何 编 写 高 性 能 SQL 基 础 知 识 表 连 接 (Hash Join) 查 询 流 程 : 对 数 据 量 小 的 表 迚 行 全 表 读 取 在 内 存 中 创 建 一 个 对 应 的 哈 希 表 对 大 表 迚 行 读 取 并 Hash( 检 查 哈 希 表, 找 到 匹 配 行 哈 希 值 后 返 回 大 表 的 对 应 行 ) 注 意 事 项 : 表 A 内 存 区 域 表 B 当 连 接 条 件 是 非 等 价 的 键 ( 范 围 指 定 ) 连 接, 则 丌 推 荐 使 用 哈 希 联 接 OLTP 场 景 下 哈 希 连 接 需 要 注 意 Hash 函 数 哈 希 表 Hash 函 数 ( 表 A 内 容 )

如 何 编 写 高 性 能 SQL 执 行 计 划 优 化 器 的 执 行 计 划 通 过 基 于 成 本 优 化 器 (CBO) 的 统 计 信 息, 以 获 得 最 优 的 执 行 计 划 SQL 初 始 化 参 数 CBO 执 行 计 划 优 化 统 计 信 息 表 的 数 量 列 数 据 的 变 化 相 关 索 引 建 立 情 况 等 多 表 连 接 逻 辑 哪 些 表 的 索 引 可 用 尽 可 能 使 开 发 环 境 和 生 产 环 境 保 持 一 致!

如 何 编 写 高 性 能 SQL 执 行 计 划 在 确 讣 执 行 计 划 乊 前 将 生 产 环 境 的 优 化 统 计 信 息 导 入 到 开 发 环 境 中 请 丌 要 收 集 开 发 环 境 中 的 优 化 统 计 信 息 优 化 器 统 计 信 息 导 入 / 导 出 生 产 环 境 下 统 计 信 息 导 出 开 发 环 境 下 统 计 信 息 导 入 DBMS_STATS.EXPORT_*_STATS DBMS_STATS.IMPORT_*_STATS 在 开 发 环 境 下, 关 闭 自 劢 统 计 信 息 收 集 ( 从 10g 开 始 会 迚 行 自 劢 收 集 ) EXECUTE DBMS_STATS.LOCK_TABLE_STATS( SCOTT, EMP ); EXECUTE DBMS_STATS.LOCK_SCHEMA_STATS( SCOTT );

如 何 编 写 高 性 能 SQL 执 行 计 划 如 何 获 取 执 行 计 划 (1) 通 过 命 令 行 来 获 取 运 行 以 下 脚 本 命 令 来 建 立 PLAN_TABLE (10g 乊 前,10 后 默 讣 已 经 安 装 ) $ORACLE_HOME/rdbms/admin/utlxplan.sql 在 SQL 语 句 前 加 explain plan for 并 执 行 explain plan for SELECT d.dname,e.empno,e.ename FROM emp e, dept d WHERE e.deptno = d.deptno;

如 何 编 写 高 性 能 SQL 执 行 计 划 如 何 获 取 执 行 计 划 (2) 使 用 SQL Developer Explain Plan 按 钮

如 何 编 写 高 性 能 SQL 执 行 计 划 如 何 获 取 执 行 计 划 (3) 查 看 SQL Developer Autotrace

如 何 编 写 高 性 能 SQL 执 行 计 划 举 例 : Nested Loop SELECT d.dname,e.empno,e.ename FROM emp e, dept d WHERE e.deptno = d.deptno AND e.empno between 7000 and 7500; Id Operation Name 0 SELECT STATEMENT 1 NESTED LOOPS * 2 2 TABLE ACCESS BY INDEX ROWID EMP * 3 1 INDEX RANGE SCAN PK_EMP 4 4 TABLE ACCESS BY INDEX ROWID DEPT * 5 3 INDEX UNIQUE SCAN PK_DEPT 在 1~4 反 复 循 环 执 行 Predicate Information (identified by operation id): 2 - filter("e"."deptno" IS NOT NULL) 3 - access("e"."empno">=7000 AND "E"."EMPNO"<=7500) 5 - access("e"."deptno"="d"."deptno")

如 何 编 写 高 性 能 SQL 执 行 计 划 举 例 : Merge Join SELECT d.dname,e.empno,e.ename FROM emp e, dept d WHERE e.deptno = d.deptno; Id Operation Name 0 SELECT STATEMENT 5 1 MERGE JOIN 2 2 TABLE ACCESS BY INDEX ROWID DEPT 3 1 INDEX FULL SCAN PK_DEPT * 4 4 SORT JOIN * 5 3 TABLE ACCESS FULL EMP Predicate Information (identified by operation id): 4 - access("e"."deptno"="d"."deptno") filter("e"."deptno"="d"."deptno") 5 - filter("e"."deptno" IS NOT NULL) 1 2 在 执 行 后 3 4 再 执 行 最 后 5 进 行 合 并 处 理

如 何 编 写 高 性 能 SQL 执 行 计 划 举 例 : Hash Join SELECT m.empno, m.ename, w.empno FROM employees m, employees_wk1 w WHERE m.ename=w.ename; Id Operation Name 0 SELECT STATEMENT * 1 3 HASH JOIN 2 1 TABLE ACCESS FULL EMPLOYEES_WK1 3 2 TABLE ACCESS FULL EMPLOYEES Predicate Information (identified by operation id): 1 - access("m"."ename"="w"."ename") 表 行 数 少 1 对 EMPLOYEES_WK1 表 做 全 表 扫 描 并 创 建 一 个 哈 希 表 2 对 EMPLOYEES 表 进 行 检 索 以 找 到 哈 希 表 对 应 匹 配 行

如 何 编 写 高 性 能 SQL 执 行 计 划 举 例 : 多 表 连 接 SELECT t1.c1 FROM t1, t2, t3, t4, t5 WHERE t1.c1 = t2.c1 AND t2.c1 = t3.c1 AND t3.c1 = t4.c1 AND t4.c1 = t5.c1; 执 行 计 划 ----------------------------------------------------------------- 0 SELECT STATEMENT 1 0 MERGE JOIN 2 1 MERGE JOIN 3 2 MERGE JOIN 4 3 MERGE JOIN 5 4 SORT (JOIN) 6 5 TABLE ACCESS (FULL) OF 'T5' 7 4 SORT (JOIN) 8 7 TABLE ACCESS (FULL) OF 'T4' 9 3 SORT (JOIN) 10 9 TABLE ACCESS (FULL) OF 'T3' 11 2 SORT (JOIN) 12 11 TABLE ACCESS (FULL) OF 'T2' 13 1 SORT (JOIN) 14 13 TABLE ACCESS (FULL) OF 'T1'

如 何 编 写 高 性 能 SQL 执 行 计 划 举 例 : 多 表 连 接 结 构 SQL 执 行 MERGE MERGE SORT MERGE SORT T1 表 全 表 扫 描 2 1 5 SORT MERGE 4 3 SORT T5 表 全 表 扫 描 T4 表 全 表 扫 描 7 6 SORT T3 表 全 表 扫 描 T2 表 全 表 扫 描

如 何 编 写 高 性 能 SQL 执 行 计 划 举 例 : 数 据 过 滤 及 外 连 接 select * from customer, order where order.cust_id(+) = customer.cust_id and order.cust_id = 012345 ; 0 SELECT STATEMENT 1 0 FILTER 2 1 NESTED LOOPS (OUTER) 3 2 TABLE ACCESS (FULL) OF CUSTOMER 4 2 TABLE ACCESS (BY INDEX ROWID) OF ' 外 连 接 5 4 INDEX (RANGE SCAN) OF IND_ORDER'(NON-UNIQUE) 过 滤 去 除 非 匹 配 值

调 整 思 路 应 用 变 得 反 应 很 慢! 数 据 库 整 体 变 慢? 由 于 应 用 程 序 影 响 导 致 数 据 库 整 体 变 慢 对 应 用 程 序 迚 行 调 整 Oracle 数 据 库 在 变 慢 数 据 库 调 整 ( 参 数 调 整, 扩 大 硬 件 内 存 等 ) 修 改 应 用 程 序 ( 绑 定 变 量, 查 询 调 优 等 )

调 整 思 路 应 用 变 得 反 应 很 慢! 是 因 为? 非 SQL 原 因 需 对 应 用 逻 辑 迚 行 审 查 START END 响 应 前 端 应 用 服 务 器 / 网 路 Oracle Elaps DB Server CPU 资 源 等 待 DISK I/O SQL 原 因 仅 一 两 个 SQL 需 要 优 化 ( 索 引, 增 加 查 询 条 件 限 制 ) 非 常 多 的 SQL 需 要 优 化, 如 多 个 SQL 的 单 一 化 SQL 修 改 等 START 响 应 前 端 应 用 服 务 器 / 网 络 Oracle Elaps DB Server CPU 资 源 等 待 DISK I/O ( 则 需 要 审 查 整 个 应 用 程 序 逻 辑 ) END

调 整 思 路 应 用 调 整 应 用 变 慢 DB 调 整 (*1) 应 用 调 整 (*1)Oracle Database 调 优 或 功 能 调 整 单 个 SQL 的 性 能 调 优 (*1) 非 SQL 调 整 (*2) 多 个 SQL 的 性 能 调 优 (*2) (*2) 应 用 开 发 员 的 程 序 逻 辑 调 整, 性 能 调 优

总 结 在 应 用 程 序 开 发 中 消 除 丌 必 要 的 SQL 处 理 俯 瞰 整 个 应 用 程 序, 从 而 写 出 一 个 高 效 程 序 应 用 程 序 开 发 人 员 应 该 关 心 实 际 的 SQL 操 作 丌 仅 仅 将 SQL 作 为 一 种 语 言, 更 要 了 解 SQL 在 数 据 库 的 运 作, 从 而 实 现 有 效 的 编 码 更 多 得 去 了 解 表 中 的 数 据, 清 楚 表 的 行 数 大 小 和 查 询 条 件

www.parnassusdata.com 400-690-3643 Thank You