石破天惊---突破oracle性能优化
李万鸿2017-6-18
产品的性能瓶颈一般都在数据库,数据库在所有产品得到广泛使用,但使用的效果如何,一直是个问题,很少有人真正搞懂数据库的优化,从而极大地提升性能。在战略预备队产品的性能优化中,通过连续3天刻苦攻关,终于掌握了数据库性能优化的原理和规律,通过测试,明显提升速度,行之有效。一个复杂的语句,开始查询1.2秒,按照探索出的规律,仅仅优化其中一张表,速度立刻提升到0.8秒,立竿见影,妙手回春。
优化数据库关键要掌握数据库的原理,不管是oracle还是mysql,都有其特有的规律,只有掌握了原理和规律,才能创造奇迹,取得良好的效果。网上有不少资料,有部分有实用价值,有的是错误的,一定要注意鉴别选择。
数据库的读和写是一个矛盾,一定要把握好,权衡轻重利弊,根据业务场景和数据库具体的情况而定,要在保持平衡的情况下做出最佳修改。最终优化的效果要通过全面压测来检验,如果能普遍提升所有的速度,包括读和写的速度都有提升,那么这是成功的优化,否则就存在问题。
我曾做过华为oracle的sql语句解析工作,这是一个非常复杂的任务,sql语句层层嵌套,难度很大,我巧妙运用递归和“加减法“成功把复杂的sql解析成单句sql。我对oracle的原理有深入的研究和理解,实际使用过多年的oracle和mysql,对数据库优化有深厚的功底。
现在华为所有产品的性能问题同样在数据库,都需要优化。目前验收标准很低,只要求5秒内返回结果,而阿里是1秒的标准。相差如此之大,原因就在于数据库优化不过关。如果采用我探索的办法,一定可以有效解决,我绝对有信心。