今天上午去参加了恩墨学院第二期ACE club活动,整个大教室里济济一堂,100多号人,还意外地碰到了前同事--高。活动由恩墨的三位大师(李大师、杨大师和候大师)主讲,内容精彩纷呈,受益匪浅,大师们考虑问题的角度、处理的思路和方法,普通人难达到那样的高度,至少我还差很远,这样也不枉我大老远地跑到CBD那边(大早上不到七点就爬起来赶过去)。 思考??
李大师演讲的主题是《oracle数据库性能优化的另类考虑》。传统的思路是:sql优化、数据库优化、系统优化和硬件扩容;主要影响性能因素:供给(系统资源、数据库资源),需求(sql语句、数据)。从数据角度来考虑性能:sql、数据 (资源需求) 系统资源、数据库资源。针对现阶段系统的数据存在的生存状态,采取相应的优化办法:杂乱且冗余(数据模型梳理与数据清理)---静态且堆积(数据清理与归档、最适合分区的场景)--零散且孤立(数据集中和整合)--零散且无序(空间碎片整理)。数据治理贯穿整个数据生命周期管理,主要包括四个阶段:规划设计、建设实施、运营管理和优化提升。
游刃有余,信手拈来。
杨大师演讲的主题是《think different》,oracle能做什么、我们能做什么、how to。演讲一开始讲述了一个精彩的亲身经历的案例,从接到客户电话到电话远程指导处理完问题不到10分钟搞定。金融行业的客户,在即将上班前发现报错 ora-1502,无法查询数据,时间紧急,马上面临上班,开始使用系统,9i的数据库。询问得知之前一天晚上做过分区表调整工作,可能导致索引失效了,而这个查询语句用了hint、强行使用该索引。通常的处理办法:在线重建索引、修改程序去掉hint、删除索引,特定情况下的办法:重命名索引。前面两种方法,由于时间紧急及风险原因不适合,删除索引可能导致索引的相关信息丢失,此种情况下最好的快速处理方法是第一步重命名索引(oracle找不到指定的索引,会忽略hint),第二步是找时间窗口重建索引。 Oracle 10g 参数 skip_unusable_index,默认为ture,即跳过不能使用的索引,但是对于主键索引和唯一索引不可行,因为oracle需要保证唯一性约束。
回到演讲,oracle能做什么(全面了解相关技术功能)、我们能做什么(深入研究、分析需求、选择最适合最有效的)、how to(大胆假设、合理推测、实验验证),贵在坚持不懈。
Oracle的新版本新特性,合理利用;没有提供的功能,可考虑视图封装,自己编写。
优化的最高境界:do nothing! 发挥创造力解决oracle数据库中难以解决的问题
专业严谨,百科全书!
侯大师讲了一个oracle经典优化案例。
任务:给一张没有主键没有唯一索引的大表,然后判断是否有重复数据,然后去掉重复的冗余数据?
通常的方法:创建唯一索引,使用group by(需要排序),通过rowid,使用分析函数。
比较第三种和第四种方法,查看执行计划,使用分析函数只需要扫描一次表,通过rowid的方法需要扫描两次。
激情澎湃,幽默风趣!
最后大家合影留念,因为人数众多,手机拍照使用全景模式,拍了好几张。期待下次活动!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21256317/viewspace-1063315/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21256317/viewspace-1063315/