查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧!
Parent-Child cursor (父子游标)
cursor_sharing
人的生命似洪水奔流,不遇着岛屿和暗礁,难以激起美丽的浪花。
Bind Peeking (变量窥视)
- 执行计划几乎不转变(oltp)
- 大量的并发
- 大量的除谓词外几乎相同的SQL。
- 执行计划会随变量值的变更而转变。
- 少许的SQL(OLAP).
ACS (Adaptive Cursor Sharing)
Oracle11g用于解决变量绑定带来的负面影响,通过不断视察bind的值,来决议新的SQL是不是重用之前的执行计划,解决绑定变量致使后续执行计划稳定的问题。
缺点
- 更多的硬分析
- 产生更多的子游标,需要更多的内存。
- 消耗更多的CPU
绑定变量的实用场景
- 用户并发很高
- 表中有主键
- 操纵的数据少
- 执行计划稳定
- SQL的重复率高
- 执行计划多变
- 并发用户少
- SQL剖析对系统性能影响小
文章结束给大家分享下程序员的一些笑话语录: 人工智能今天的发展水平:8乘8的国际象棋盘其实是一个体现思维与创意的强大媒介。象棋里蕴含了天文数字般的变化。卡斯帕罗夫指出,国际象棋的合法棋步共有1040。在棋局里每算度八步棋,里面蕴含的变化就已经超过银河系里的繁星总数。而地球上很少有任何数量达到这个级别。在金融危机之前,全世界的财富总和大约是1014人民币,而地球人口只有1010。棋盘上,所有可能的棋局总数达到10120,这超过了宇宙里所有原子的总数!经典语录网
--------------------------------- 原创文章 By
sql和执行计划
---------------------------------