- 1
- 0
- 约 207页
- 2016-05-15 发布于山西
- 举报
oracle_sql性能优化全
SQL语句优化是提高性能的重要环节 开发人员不能只注重功能的实现,不管性能如何 开发人员不能把Oracle当成一个黑盒子,必须了解其结构、处理SQL和数据的方法 必需遵守既定的开发规范 未经过SQL语句优化的模块不要上线 SQL语句优化的过程 定位有问题的语句 检查执行计划 检查执行过程中优化器的统计信息 分析相关表的记录数、索引情况 改写SQL语句、使用HINT、调整索引、表分析 有些SQL语句不具备优化的可能,需要优化处理方式 达到最佳执行计划 什么是好的SQL语句? 尽量简单,模块化 易读、易维护 节省资源 内存 CPU 扫描的数据块要少 少排序 不造成死锁 SQL共享原理 ORACLE将执行过的SQL语句存放在内存的共享池(shared buffer pool)中,可以被所有的数据库用户共享。 当你执行一个SQL语句(有时被称为一个游标)时, 如果它和之前的执行过的语句完全相同, ORACLE就能很快获得已经被解析的语句以及最好的 执行路径. 这个功能大大地提高了 SQL的执行性能并节省了内存的使用。 SQL共享的三个条件 当前被执行的语句和共享池中的语句必须完全相同 (包括大小写、空格、换行等) 两个语句所指的对象必须完全相同 (同义词与表是不同的对象) 两个SQL语句中必须使用相同的名字的绑定变量(bind variables) Sql 处理过程 SQL PARSE与共享SQL语句 当一个Oracle实例接收一条sql后 1、Create a Cursor 创建游标 2、Parse the Statement 分析语句 3、Describe Results of a Query 描述查询的结果集 4、Define Output of a Query 定义查询的输出数据 5、Bind Any Variables 绑定变量 6、Parallelize the Statement 并行执行语句 7、Run the Statement 运行语句 8、Fetch Rows of a Query 取查询出来的行 9、Close the Cursor 关闭游标 为什么要bind variables? 字符级的比较: SELECT * FROM USER_FILES WHERE USER_NO = ; 与 SELECT * FROM USER_FILES WHERE USER_NO = ; 检查: select name,executions from v$db_object_cache where name like select * from user_files% 什么叫做重编译问题 什么叫做重编译? 下面这个语句每执行一次就需要在SHARE POOL 硬解析一 次,一百万用户就是一百万次,消耗CPU和内存,如果业务 量大,很可能导致宕库…… 如果绑定变量,则只需要硬解析一次,重复调用即可 select * from dConMsg where contract_no = 32013484095139 绑定变量解决重编译问题 未使用绑定变量的语句 sprintf(sqlstr, insert into scott.test1 (num1, num2) values (%d,%d),n_var1, n_var2); EXEC SQL EXECUTE IMMEDIATE :sqlstr ; EXEC SQL COMMIT; 使用绑定变量的语句 strcpy(sqlstr, insert into test (num1, num2) values (:v1, :v2)); EXEC SQL PREPARE sql_stmt FROM :sqlstr; EXEC SQL EXECUTE sql_stmt USING :n_var1, :n_var2; EXEC SQL COMMIT; 绑定变量的注意事项 注意: 1、不要使用数据库级的变量绑定参数cursor_sharing来强 制绑定,无论其值为 force 还是similar 2、有些带 的语句绑定变量后可能导致优化器无法正确 使用索引 数据库性能 影响数据库系统性能的要素: 主机CPU,RAM,存储系统; OS参数配置,ORACLE参数配置; 应用方面:数据库设计及SQL编程的质量 一个性能优秀的应用系统需要: 良好的硬件配置;正确合理的数据库及中间件参数配置;合理的数据库设计;良好的sql编程;运行期的性能优化 SQL Tunning 的重
您可能关注的文档
- 《钢结构设计规范》正文送审稿1120.doc
- 《妙句速记3000英语单词精华版》《1000句最常用英语口语》《英语谚语500句全》.doc
- 《中国古典园林史周维权》笔记.doc
- 《最强大脑》解密5:最具魔术色彩的辨脸表演.doc
- 【化学】高中知识点规律大全4——《物质结构 元素周期律》.doc
- 【数资】412考前必看资料分析实战技巧-王赛1.doc
- 01 东海装修方案1.docx
- 2 学生学籍管理系统数据库系统sql.doc
- 2-2、余热锅炉的施工工法最终版.doc
- 7税务行政许可事项服务指南 1.doc
- 2026年青岛滨海学院单招职业技能考试题库有答案详解.docx
- 2026年亳州职业技术学院单招职业适应性测试题库带答案详解.docx
- 2026年重庆科技职业学院单招职业技能考试题库有答案详解.docx
- 2026年渭南职业技术学院单招职业适应性测试题库带答案详解.docx
- 2026年河北省保定市高职单招职业技能考试题库附答案详解.docx
- 2026年云南能源职业技术学院单招职业技能考试题库有答案详解.docx
- 宣贯培训(2026年)《SNT 0987.7-2025出口危险货物中型散装容器检验规程 第7部分:纤维板中型散装容器》.pptx
- 2026年白城医学高等专科学校单招职业适应性测试题库有答案详解.docx
- 2026年重庆工程学院单招职业适应性测试题库有答案详解.docx
- 2026年湖北省随州市高职单招职业技能考试题库有答案详解.docx
最近下载
- 眼科学基础题库及答案.doc VIP
- 子痫前期预测与预防指南(2025) .pdf VIP
- 2023-2024学年江苏省南京市四年级下学期期末数学复习试卷(解析版).pdf VIP
- 陕09J10 地下工程防水.docx VIP
- 东北三省第二课时.pptx VIP
- 2025年企业级安全生产智能体白皮书.pdf
- 2026年广东省公务员考试《申论》(市级卷)真题详解.docx VIP
- 6.2 ”白山黑水“——东北三省 课件(共45张PPT) 2024-2025学年人教版地理八年级下册.pptx VIP
- 最新人教版六年级数学第一学期教学工作计划-(11).docx VIP
- 年处理1500吨乙醇-水筛板精馏塔设计说明书(逐板,仪表,经济)23.7.5.docx VIP
原创力文档

文档评论(0)