系统调优有感

昨天客户电话过来,说一直运行良好的系统,早上使用时突然奇慢无比,点个审批按钮,浏览器没有任何反应。出库时更是僵死状态。我听后第一感觉就是可能客户本身电脑出问题了,因为他反应的这块也就是她一个人用。中午吃好饭匆匆跑过去,实验了一下,果真如此。开始纳闷了,联系其单位的it部门,据他描述,服务器的确是进行过升级处理,但是一问时间是在系统出现问题之后才去处理的,他也很纳闷。因为下午有事,过了一个小时就回来了。晚上把系统代码打开,在测试数据库上测试了一把,发现客户反应慢的地方都调用了一个sql语句,初步设想是这个语句问题,打算明天让it部人员到正式库上测试一下,看看运行效率。第二天因it部人有事,我下午冒雪又赶了过去。正式库测试一下,不测不知道一测吓一跳,60s才出来,有时候根本就是sql plus就是死掉。马上在搭建的测试库上进行调优,根据sql语句添加了索引,性能有所提高,但还是很慢。只能根据业务逻辑处理了,发现这条sql语句关联了7~8个表,性能明显不行,删除了一些不根本不需要的关联,征询业务人员后又删除了一个大表关联,运行后3s出来了,性能总算差强人意吧。正式库处理ok。看看时间,花费了1个小时,客户也比较满意。

客户反映出库按钮还是奇慢不必,这次可没上一个问题好解决了。 调优了几个sql语句。这里要说一下where后不要的函数尽量不要使用,这块性能也是很大的。最后还是不行,只能跟代码调试,进行sql调试。测试库性能总算可以了,发布到正式库运行,悲剧发生了,性能依旧不行啦,最后只能程序连到正式库,调啊调,o,my god,哪位大爷写的代码啊,查询一个列他老人家为了省事直接用以前有的能达到30个列的sql查询出,达到索要的那列。最后调试这个sql,正式库上添加对应索引。测试,ok。客户测试,当然是满意了。

哎,今日总结。大哥大姐们,以后写代码,写sql能不能用用脑子啊,必要的索引该加也得加啊,sql调优您老也学学点,行不?! 

posted @ 2012-02-10 22:57  smart-liu  阅读(229)  评论(0编辑  收藏  举报