恼人的性能调优

   自从进入这家公司以来,自己做的事情基本都是性能调优相关的。经过了这大半年的工作,感受颇多。
1.性能调优有时候很简单,只需要一个索引搞定
2.有时候调优很难,要和业务挂钩,在大数据量的情况下,即使再好的索引也没有用,尤其是业务需求不合理的情况下(此处的不合理是对数据来讲的,或许从业务上讲是合理的)。、

这几天看的一个调优就是一张大表,虽然只有200多万的记录数,但是由于表内包含了varchar2(3500)的大字段,使得这张表占了3.5个g的物理空间。
而且数据量严重倾斜
                 类型1              类型2        记录数
112028480
12553
13102
2148439
22278
2321
321
427
所以当用户输入参数type1=‘1’  and type2='1'的时候,性能尤其的差,而且用户的输入没有其他任何条件,还要排序,显示前50条记录。每次这个查询都要30+s,有时候甚至要50+s,很让人郁闷。没有其他办法,因为必须走全表扫描。
而当用户输入条件是type1=‘2’  and type2='2'的时候,性能就极其好了。更可怕的是,这条sql用到了首页显示内,每次有用户访问网站,都会发送这条sql,导致了大量排队,协调的排队现象很严重。严重影响了用户的体验。

这种情况,要么和用户协商,增加查询条件,要么就要对表进行改造,拆分出需要在首页显示的内容,建立小表。这样可以将查询响应时间缩短到2s+,或者更短。
但是在没有其他条件的情况下,如果数据量继续增加的话,后期的问题还是很严重,除非及时清理这张小表。但是这种做法还有一个不好的地方,就是需要修改程序代码。

恼人啊。。。。。。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7353848/viewspace-696084/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7353848/viewspace-696084/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值