性能优化3

常用的数据库性能优化工具有:
一、ORACLE数据库在线数据字典,ORACLE在线数据字典能够反映出ORACLE动态运行
情况,对于调整数据库性能是很有帮助的。
二、操作系统工具,例如UNIX操作系统的vmstat,iostat等命令可以查看到系统系统级内存和硬盘I/O的使用情况,这些工具对于管理员弄清出系统瓶颈出现在什么地方有时候很有用。
三、SQL语言跟踪工具(SQL TRACE FACILITY),SQL语言跟踪工具可以记录SQL语句的执行情况,管理员可以使用虚拟表来调整实例,使用SQL语句跟踪文件调整应用程序性能。SQL语言跟踪工具将结果输出成一个操作系统的文件,管理员可以使用TKPROF工具查看这些文件。
四、ORACLE Enterprise Manager(OEM),这是一个图形的用户管理界面,用户可以使用它方便地进行数据库管理而不必记住复杂的ORACLE数据库管理的命令。
五、EXPLAIN PLAN──SQL语言优化命令,使用这个命令可以帮助程序员写出高效的SQL语言。
1、Oracle SQL中使用like之后,是否可以使用索引?
答案:select * from emp where name like '%A'? (不使用索引)?.   select * from emp where name like 'A%'? (使用索引)
2、Oracle 中是否有top使用方法?
答案:没有。如果实现top功能用  select * from tab where rownum <= N
3、选择最有效率的表名顺序(只在基于规则的优化器中有效)?第二个实例有疑问?
答案:Select  *? 
FROM LOCATION L , CATEGORY C,EMP E
WHERE E.EMP_NO BETWEEN 1000 AND 2000
AND E.CAT_NO = C.CAT_NO
AND E.LOCN = L.LOCN?
将比下列SQL更有效率?
SELECT *
FROM EMP E ,LOCATION L , CATEGORY C
WHERE? E.CAT_NO = C.CAT_NO
AND E.LOCN = L.LOCN
AND E.EMP_NO BETWEEN 1000 AND 2000?
具体解释: EMP 员工表(平时业务中的实时表), CATEGORY类别表(维度表), LOCATION国家表(维度表)
如果有3个以上的表连接查询,最少的维度表放到最右侧,其次其他维度表,最后放的业务中的实时表。

你可能感兴趣的:(oracle,sql,C++,c,C#)