id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	due_date
56	商城oracle数据库优化	huangzhong		"
== 现象 ==[[BR]]
最近商城数据库压力比较大，磁盘空间有些不足。

== 解决方法 ==
数据库调优的方法很多，比如找出比较耗时的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.把一些读取频繁的多表查询考虑采用定时任务+中间表的方式去做
"	defect	new	major		商家后台		null		chenyinle huangjianhua liaojunqiang	31/01/2012
