`
cczmf
  • 浏览: 17248 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

SQL优化笔记

 
阅读更多
1、查询谓词没有使用索引的主要边界,换句话说就是select *,可能会导致不走索引。 比如,你查询的是SELECT * FROM T WHERE Y=XXX;假如你的T表上有一个包含Y值的组合索引,但是优化器会认为需要一行行的扫描会更有效,这个时候,优化器可能会选择TABLE ACCESS FULL,但是如果换成了SELECT Y FROM T WHERE Y = XXX,优化器会直接去索引中找到Y的值,因为从B树中就可以找到相应的值。


2、隐式转换导致不走索引。 索引不适用于隐式转换的情况,比如你的SELECT * FROM T WHERE Y = 5 在Y上面有一个索引,但是Y列是VARCHAR2的,那么Oracle会将上面的5进行一个隐式的转换,SELECT * FROM T WHERE TO_NUMBER(Y) = 5,这个时候也是有可能用不到索引的。


3、awr报告解读:会话太大太久,占用过多的PGA,可以适当增加。


4、TX锁等待示例。

  • 大小: 12.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics