




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
调整SQL语句和应用,日月明王 msn:,SQL语句的执行,分析(PARSE) 语法检查; 搜索共享SQL区,查看该语句是否已经存在; 查询数据字典,决定安全权限、最优路径等; 如果共享SQL区不存在该语句,则执行编译生成分析树。 执行(EXECUTE) 将分析树放入数据库缓冲区中; 执行物理/逻辑读写。 取数据(FETCH),SQL语句的优化,利用ORACLE的共享区(SHARED_ POOL),相同的SQL语句可以共享编译后的分析树 遵循的原则: 约定所有语句的标准格式,包括PL/SQL 约定大小写 使用相同的绑定变量 注: 两条SQL语句必须是语法、文本完全相同,也即存取权限、路径、大小写、空格数、变量名等完全相同,才能视为可共享的SQL,将共享的SQL和PL/SQL保留在共享区中,保留大的已分配空间 SHARED_POOL_RESERVED_SIZE SHARED_POOL_SIZE的10%为较大连续共享池内存请求而保留的空间,以避免由碎片引起的性能下降 防止实体被换出 使用系统包DBMS_SHARED_POOL可在共享内存中保留实体 DBMSPOOL.SQL和PRVTPOOL.PLB过程脚本创建DBMS_SHARED_POOL的包说明和包体 使用V$SQLAREA V$SQLTEXT查询当前系统中共享区中的所有SQL语句,何时使用DBMS_SHARED_POOL 在装入大的PL/SQL实体(如STANDARD 和DIUTIL包)时, DBMS_SHARED_POOL 包中的过程是非常有用的。 对频繁执行的触发器,DBMS_SHARED_POOL也是非常有用。这时可以将编译过的频繁使用的触发器保存在共享区中 如何使用DBMS_SHARED_POOL 确定需要调入内存的包或游标; 启动数据库; 调用DBMS_SHARED_POOL.KEEP dbms_shared_pool.keep(object IN VARCHAR2,type IN CHAR DEFAULT P) object - 实体名或游标地址 type - 实体的类型。 P:Procedure、C:cursor 、R:Trigger、Q:sequence,数据访问方法:使用索引(INDEX),索引有如下的特性: 由ORACLE自动维护 可减少磁盘I/O 仅查询被索引的列时才用到索引 对索引的搜索是对全表扫描的替换 索引、表独立 有自己的存储参数 通常比原来的表小 可存储在与表分离的表空间中,使用聚簇(CLUSTER),对于聚簇键的选择,应遵循如下原则: 要聚簇的表主要用作查询,并且聚簇键很少更新 经常一同使用的表之间有联结关系 此列有一广泛的取值,不是经常重复 多表在该列上做联结 该列很少被更新 该列不能为LONG 或LONG RAW 数据类型 聚簇表应经常由应用联结访问 如果经常选择一个主记录和对应的细节记录,考虑使用聚簇表 如果经常选择同一个主表的许多细节记录,考虑将细节表单独在聚簇中保存,不应使用聚簇表的情况: 如果应用仅偶尔联结或经常修改公共列值,不要聚簇表 如果应用经常执行聚簇表中仅一个表的全表的搜索,不要聚簇表 使用CREATE CLUSTER命令创建聚簇表,SQL优化方式,基于规则的优化 基于成本的优化 设定: init.ora: OPTIMIZER_MOD : RULE | CHOOSE | FIRST_ROWS | ALL_ROWS 使用提示: Select /*+ FIRST_ROWS */ name from emp where salary2000; 对象统计: Analyze table emp compute statistics; Analyze talbe emp compute statistics for all indexed columns; Analyze table emp estimate statistics sample size 20 percent; Execute dbms_utility.analyze_schema(scott,estimate,estimate_percent=20);,跟踪不良SQL,设置启动参数 开启SQL_TRACE 运行程序 确定跟踪文件 在跟踪文件上运行tkprof,产生文本 根据结果优化SQL,Init.ora:TIMED_STATISTICS , MAX_DUMP_FILE_SIZE , USER_DUMP_DEST, SQL_TRACE 或者 alter session set timed_statistics=true; 收集操作系统的计时信息,这些信息可被用来优化数据库和 SQL语句 ALTER SESSION SET SQL_TRACE = true; 使用 SQL 跟踪设备将引发系统开销,只应在需要优化信息的情况下使用 TRUE。 TKPROF.EXE admino817udumpORA03808.TRC o.txt explain=system/manager sys=no sort=fchdsk,Sample TKPROF Output,资源计划: 执行rdbms/admin/utlxplan.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京市朝阳区区管企业年轻人才“培优”计划招聘23人模拟试卷及答案详解(历年真题)
- 2025年泉州永春县部分公办学校专项招聘编制内新任教师(二)模拟试卷及1套参考答案详解
- 2025甘肃张掖市肃南县居家养老服务中心招聘2人模拟试卷及参考答案详解
- 起重机械模拟试题及答案
- 2025贵州安顺参加“第十三届贵州人才博览会”引才考前自测高频考点模拟试题附答案详解(典型题)
- 2025湖南师范大学科创港校区规划建设指挥部劳务派遣人员招聘5人考前自测高频考点模拟试题完整参考答案详解
- 2025广东惠州市惠东县稔山镇招聘村(社区)党组织书记、村(社区)“两委”班子和储备人选考试模拟试题及答案解析
- 2025年初中地理卷子真题及答案
- 2025江西南昌市劳动保障事务代理中心招聘1名外包驾驶员考前自测高频考点模拟试题及答案详解1套
- 2025贵州黔东南州黄平县招聘乡镇政府专职消防员10人备考考试题库附答案解析
- 2025年高考全国卷历史试题真题及答案详解
- 2025年产业政策调整下人工智能在医疗行业的应用可行性研究报告
- 数据结构(Java语言描述)(第2版)教案全套 张静 单元设计-单元1-8 数据结构与算法 -哈希表
- 《道路勘测设计》课件-第三章 平面设计
- 学堂在线 英文科技论文写作与学术报告 期末考试答案
- 护理安全警示教育案例
- 车辆损坏和解协议书
- 品控管理制度大全
- 洗衣房院感知识培训课件
- DBJ51-T 040-2021 四川省工程建设项目招标代理操作规程
- 创新方法大赛理论知识考核试题题库及答案
评论
0/150
提交评论