01--oracle性能篇笔记

1、连接PLSQL显示SQL执行时间
   SQL>SET TIMING ON
   SQL>select * from t_user;
   SQL>select user_name from t_user;
2、避免使用*,具体查询到某列
3、查询部分行的数据,不查询所有的数据,用where romnum<=n order by 某列
4、ROWID高效删除重复记录:
   每一条记录都有一个名为ROWID的列,在整个数据库中是唯一的,确定了每条记录是在Oracle中哪个数据文件、块、行上,删除重复记录,下面为最高效:
   delete from stu s
   where s.rowid>(select min(t.rowid)
   from stu t where t.sno=s.sno)
  
   表中重复记录较多时:
   delete from stu s
   where s.rowid not in (select min(t.rowid)
   from stu t where t.sno=s.sno)
5、高效统计记录行数:
   select table_name,num_rows
   from user_tables
   where table_name=‘stu‘;
   注意:user_tables视图中保存了所有用户表基本信息,包括表空间、状态、缓存等
6、多使用commit语句,能释放更多的资源。释放的资源包括:
   (1)回滚段上用于恢复数据的信息
   (2)REDO LOG BUFFER中的空间
   (3)被程序语句获得的锁
7、用EXISTS替代IN谓词,带有EXISTS谓词的子查询不返回任何实际数据,其只产生逻辑真值TRUE或者FALSE
   NOT IN是最低效的[因为对子查询中的表执行了一个全表遍历],所以避免使用not in
8、用>=代替>运算符
9、select语句中避免使用distinct语句[distinct用二重循环查询来实现消除重复记录,这就需要对表中每行记录进行    比较,影响性能]
10、EXPLAIN PLAIN FOR + SQL对该语句进行解释
    select * from table(dbms_xplan.display)来看执行计划

时间: 2024-08-25 17:46:39

01--oracle性能篇笔记的相关文章

Oracle性能优化之性能跟踪工具_超越OCP精通Oracle视频教程培训34

Oracle性能优化之性能跟踪工具_超越OCP精通Oracle视频教程培训34 课程介绍 Oracle视频教程,风哥本套oracle教程培训<<Oracle数据库性能优化培训教程>>的第4/10套:Oracle性能优化之性能跟踪工具.主要学习Oracle性能优化,如何获取跟踪文件,sql_trace及案例,10046事件及案例,trace内容分析,oradebug及案例,dbms_system,dbms_monitor及案例,dbms_support,10053事件及案例,综合案例

oracle 性能优化操作:总结

oracle性能优化操作的这几篇文章,是完全可以相互结合同时运用的.而且各种方法之间相互影响,紧密联系. 这种联系既存在一致性,也可能带来冲突,当冲突发生时,需要根据实际情况进行选择,没有固定的模式. 最后决定SQL优化功力的因素就是对ORACLE基础的掌握程度了. 另外,值得注意的是:随着时间的推移和数据的累计与变化,ORACLE对SQL语句的执行计划也会改变. 比如:基于代价的优化方法,随着数据量的增大,优化器可能错误的不选择索引而采用全表扫描. 这种情况可能是因为统计信息已经过时,在数据量

[Oracle] - 性能优化工具(5) - AWRSQL

在AWR中定位到问题SQL语句后想要了解该SQL statement的详细运行计划,于是就用AWR报告中得到的SQL ID去V$SQL等几个动态性能视图中查询,但发现V$SQL或V$SQL_PLAN视图都已经找不到相应SQL ID的记录,一般来说这些语句已经从shared pool共享池中被替换出去了. 这个时候我们能够尝试使用DBMS_XPLAN.DISPLAY_AWR存储过程来将Oracle Automatic Workload Repository自己主动负载仓库中记录的SQL语句相关信息

[Oracle] - 性能优化工具(1) - AWR

AWR快照 默认情况下,Oracle每隔一小时会自己主动产生一个快照,保存近期8天的快照. 我们能够通过例如以下语句获得产生快照的时间间隔和保存的天数: [email protected](lx15)> select SNAP_INTERVAL,RETENTION from dba_hist_wr_control; SNAP_INTERVAL RETENTION -------------------------------------------------------------------

Oracle性能调整ASH,AWR,ADDM

ASH (Active Session History)ASH以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件.不活动的会话不会采样,采样工作由新引入的后台进程MMNL来完成.ASH buffers 的最小值为1MB,最大值不超过30MB.内存中记录数据.期望值是记录一小时的内容. 生成ASH报告:SQLPLUS>@?/rdbms/ashrpt.sql ASH内存记录数据始终是有限的,为了保存历史数据,引入了自动负载信息库(Automatic Workload Repositor

Oracle性能分析7:索引的使用

这一节主要讲述索引的使用,首先介绍怎么在查询中避免使用索引,然后介绍优化器怎么判断是否使用索引,并介绍了强制使用索引的方法,最后介绍了Oracle的并行处理方法. 避免使用索引 虽然你创建了索引,但有些查询你可能需要避免使用这些索引,或者你为了做一些测试,希望看看各种情况下查询的情况,也希望能够避免使用一些索引或者索引扫描方式.Oracle提供了方式来达到这些目地,就是在查询中使用hint信息,具体情况如下. 避免使用某个索引 如果索引的选择性很差,那么也许使用其它索引或者使用全表扫描的效率会更

Oracle Performance Tuning Overview 翻译(Oracle性能优化概述 自己的中英文比对翻译)

Oracle? Database Performance Tuning Guide 10g Release 2 (10.2) B14211-03 Home Book List Contents Index Master Index Contact Us Previous Next PDF · Mobi · ePub 1 性能优化概述 This chapter provides an introduction toperformance tuning and contains the follow

Oracle性能分析3:TKPROF介绍

tkprof是Oracle自带的一个命令行工具,主要作用是将原始的跟踪文件转换为格式化的文本文件,最简单的使用方式如下: tkprof ly_ora_128636.trc ly_ora_128636.txt tkprof带有很多参数,在多数情况下,使用这些参数对你的分析将很有帮助. tkprof参数 如果不带任何参数运行tkprof,它将打印出完整的参数列表,并带有简单的描述.下面是对参数的说明: explain 为每个SQL语句提供一个执行计划.该参数需要指定用户.密码,也可以指定数据库连接串

Android App性能优化笔记之一:性能优化是什么及为什么?

By Long Luo 周星驰的电影<功夫>里面借火云邪神之口说出了一句至理名言:“天下武功,唯快不破”. 在移动互联网时代,同样如此,留给一个公司的窗口往往只有很短的时间,如何把握住这个时机,迅速开发出产品,成为至关重要的一环.相对传统互联网时代的PC产品,用户对移动端产品的容忍度更低.而一款移动应用在推出的时候可能只是接近完成的状态,这就需要通过快速的迭代开发来更新产品,不断完善产品来留住用户.同时,通过更新产品也能唤醒一些沉默用户,让一些原本下载了应用但使用次数非常少的用户给该应用多一次