曾若潇
数据质量管理处
· 编者按
金融审计数据分析平台(FAD)作为我行对接国家审计署及分行特派办的重要系统,使用银行传统关系型数据库Oracle,含数据量200+T,覆盖我行30+个业务系统重要贴源数据,可谓是银行审计检查及监管报送的重要系统支撑和数据保障。面对海量增、存量数据的挑战,如何对数据库进行优化已成为一场持久命题战。后续将为大家分享金融审计数据分析平台在做性能调优时所用到的一些技术经验及思路、心得,以敲砖引玉。
一、嵌套循环(NESTED LOOP/NL)
Oracle及传统关系型数据库的运算分析中,表与表之间的连接方式非常重要。如果CBO选择了错误的连接方式 ,本来几秒就能出结果的SQL 可能执行一天都执行不完。如果想要快速的定位超大型sql的性能问题,我们就必须深入理解表连接方式。
在取多表关联的结果集时,一般情况下只能是两个表先关联,关联后的结果再和其他表或结果集关联。如果执行计划中出现了filter,这时可以一次性关联多个表,但是大多数filter会影响SQL本身执行效率。
(一)算法介绍
当驱动表每返回一行数据时,这