代码改变世界

随笔分类 -  A性能优化专题

Oracle数据库该如何着手优化一个SQL

2016-01-12 14:53 by AlfredZhao, 4219 阅读, 收藏, 编辑
摘要: 这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异。 所以有时候我们应该先搞清楚需求到底是什么,SQL本身是否合理,这些思考很可能会使优化工作事半功倍。而本文是假设SQL本身 阅读全文

SQL优化记录- hints固定执行计划

2015-12-25 16:31 by AlfredZhao, 7 阅读, 收藏, 编辑
该文被密码保护。 阅读全文

SQL Tuning 基础概述09 - SQL Access Advisor

2015-12-23 13:27 by AlfredZhao, 722 阅读, 收藏, 编辑
摘要: Oracle官方文档对SQL Access Advisor的描述如下: SQL Access Advisor, which is a tuning tool that provides advice on improving the performance of a database through 阅读全文

Oracle Tuning 基础概述01 - Oracle 常见等待事件

2015-05-25 23:32 by AlfredZhao, 2652 阅读, 收藏, 编辑
摘要: 对Oracle数据库整体性能的优化,首先要关注的是在有性能问题时数据库排名前几位等待事件是哪些。Oracle等待事件众多,随着版本的升级,数量还在不断增加,可以通过v$event_name查到当前数据库版本包含的等待事件。例如我在Linux平台查11.2.0.4版本的Oracle是有1367个等待事 阅读全文

SQL Tuning 基础概述08 - SQL Tuning Advisor

2015-01-26 19:06 by AlfredZhao, 1266 阅读, 收藏, 编辑
摘要: SQL调优顾问 SQL Tuning Advisor的使用案例: 1.构建测试表T 2.定义调整任务 3.修改调整任务参数 4.执行调整任务 5.监控调整任务 6.查看调整任务建议 7.删除调整任务 1.构建测试表T 2.定义调整任务 对“select owner, object_id, objec 阅读全文

SQL Tuning 基础概述07 - SQL Joins

2015-01-20 20:42 by AlfredZhao, 703 阅读, 收藏, 编辑
摘要: N多年之前,刚刚接触SQL的时候,就被多表查询中的各种内连接,外连接,左外连接,右外连接等各式各样的连接弄的晕头转向。 更坑的是书上看到的各种表连接还有两种不同的写法, 比如对于表A,表B的查询 1,内连接两种写法: 2,右外连接写法: 3,左外连接写法: 而对各个查询结果的区别,也是让人抓狂的记忆 阅读全文

SQL Tuning 基础概述06 - 表的关联方式:Nested Loops Join,Merge Sort Join & Hash Join

2014-12-02 22:25 by AlfredZhao, 1185 阅读, 收藏, 编辑
摘要: nested loops join(嵌套循环) 驱动表返回几条结果集,被驱动表访问多少次,有驱动顺序,无须排序,无任何限制。 驱动表限制条件有索引,被驱动表连接条件有索引。 hints:use_nl() merge sort join(排序合并) 驱动表和被驱动表都是最多访问1次,无驱动顺序,需要排 阅读全文

SQL Tuning 基础概述05 - Oracle 索引类型及介绍

2014-11-27 23:11 by AlfredZhao, 1538 阅读, 收藏, 编辑
摘要: 一、B-Tree索引 三大特点:高度较低、存储列值、结构有序 1.1利用索引特性进行优化 外键上建立索引:不但可以提升查询效率,而且可以有效避免锁的竞争(外键所在表delete记录未提交,主键所在表会被锁住)。 统计类查询SQL:count(), avg(), sum(), max(), min() 阅读全文

SQL Tuning 基础概述04 - Oracle 表的类型及介绍

2014-11-18 11:29 by AlfredZhao, 911 阅读, 收藏, 编辑
摘要: Tables A table describes an entity such as employees. You define a table with a table name, such as employees, and set of columns. In general, you giv 阅读全文

SQL Tuning 基础概述03 - 使用sql_trace和10046事件跟踪执行计划

2014-11-04 23:45 by AlfredZhao, 1788 阅读, 收藏, 编辑
摘要: 1.使用sql_trace跟踪执行计划 1.1 当前session跟踪: 1.2 其他session跟踪:(根据其他session的sid, serial#定位,最常用) 1.3 Instance 级别:(很少用到,会造成系统的额外开销) 实例级别还可以在pfile/spfile参数文件中加 sql 阅读全文

SQL Tuning 基础概述02 - Explain plan的使用

2014-08-31 23:47 by AlfredZhao, 1016 阅读, 收藏, 编辑
摘要: 1.explain plan的使用 2.explain plan 只是显示执行计划,并不会真正执行delete语句· 阅读全文

SQL Tuning 基础概述01 - Autotrace的设定

2014-07-16 23:57 by AlfredZhao, 1237 阅读, 收藏, 编辑
摘要: 1.autotrace的设定 2.实验验证 set autot trace exp 没有真正执行查询类sql: 阅读全文