Ticket #56 (new defect) — at Version 1
商城oracle数据库优化
| Reported by: | huangzhong | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | 商家后台 | Version: | |
| Keywords: | Cc: | chenyinle, huangjianhua, liaojunqiang | |
| Due Date: | 31/01/2012 |
Description (last modified by huangzhong) (diff)
现象 ==
最近商城数据库压力比较大,磁盘空间有些不足。
解决方法
数据库调优的方法很多,比如找出比较耗时的sql语句进行优化,归档旧数据等。看过DBA提供的耗时较长的sql语句后发现很多是起本身的业务逻辑复杂导致的,短时间可优化的空间较小,那么就先做能做的吧,在此可以把解决方法分为短期和长期的。
- 短期
1.之前做的商城旧数据清理。
2.DBA找出最占空间的表,找啊找啊找啊找,找到两个ent_product_price_log(商品改价日志)、ent_order_log(订单修改日志),这两个表占了20多个G的空间,其中ent_product_price_log有一亿一千多万数据,ent_order_log有六十多万数据(其中有个clob大字段),和编辑沟通过后,ent_order_log可以只保留半年的数据,ent_order_log可以保留两年的数据。
- 长期
1.简化复杂的业务逻辑
2.把一些clob字段改为截段存取
3.把一些读取频繁的多表查询考虑采用定时任务+中间表的方式去做
Note: See
TracTickets for help on using
tickets.
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/global/2008/images/jss/m_logo091125.jpg)