Oracle 优化容易忽略的地方
2011-07-12 15:22
260 查看
1. Exist 先执行主查询,in 先执行子查询,所以如果主查询有约束条件,应用Exist。
2. 非等值连接,只能用排序合并连接,等值连接就可以用Hash Join(快)。
3. Null处理,Coalesce, NVL
4. SQL是集合处理。
5. Mview, Force(fast(log)->complete), on demand, Query rewrite.
6. 记录, Record(一行多列),%type, %row type
7. 集合, Set(一列多行), type ... is table of
8. SQL response time should be less than 7 sec.
9. RAID 5, 读好,但写差。
10.隐式的类型转换会导致索引失效,trim(varchar2)是无必要的。有时由于条件太复杂会导致优化器选择不去join,而去做Cartesian.
11.行在数据库的顺序对于查询性能有影响,如果clustering_factor=block数,好的性能,如果=row数,差的性能。
12.何时全表扫描好:有序表,结果集占40%以上;无序表,结果集占7%以上。同时,内存排序比在磁盘排序快10000倍
2. 非等值连接,只能用排序合并连接,等值连接就可以用Hash Join(快)。
3. Null处理,Coalesce, NVL
4. SQL是集合处理。
5. Mview, Force(fast(log)->complete), on demand, Query rewrite.
6. 记录, Record(一行多列),%type, %row type
7. 集合, Set(一列多行), type ... is table of
8. SQL response time should be less than 7 sec.
9. RAID 5, 读好,但写差。
10.隐式的类型转换会导致索引失效,trim(varchar2)是无必要的。有时由于条件太复杂会导致优化器选择不去join,而去做Cartesian.
11.行在数据库的顺序对于查询性能有影响,如果clustering_factor=block数,好的性能,如果=row数,差的性能。
12.何时全表扫描好:有序表,结果集占40%以上;无序表,结果集占7%以上。同时,内存排序比在磁盘排序快10000倍
相关文章推荐
- Oracle中容易被忽略的地方
- 关于oracle sql优化的一个容易忽略的问题。
- Oracle 容易忽略的地方1
- Ajax中的2个容易忽略的地方
- Button、EditText控件的一些容易忽略的好用的地方
- boostrap-非常好用但是容易让人忽略的地方【6】:role属性
- ORACLE 分组之后容易被忽略的bug
- oracle中sql语句容易错的地方总结
- 个人分享 站长们容易忽略的代码优化
- NFS环境搭建容易忽略的地方
- 关于TTL大家容易忽略的地方
- APP测试容易忽略的地方
- oracle sql语句转化为mysql 容易忽略“||”作用
- SQL 入门容易忽略的地方——where
- flex容易被忽略的地方
- 基础java容易忽略的地方
- 关于C编程容易忽略的地方
- php编程中容易忽略的地方
- latex写论文:标点符号问题——容易忽略标点的地方,以及其他注意事项。
- 那些被你忽略的性能 - Oracle Redo的产生场景及优化