Sql2005行转列性能问题
目前做一个公司内部的广告投放效果分析系统,在做报表的时候需要根据日期对结果进行行转列,
我目前用得是
select * from
(select ADTotalMoney,date from AD_Statisticsview) a
pivot (sum(ADTotalMoney) for date in ([2011-11-01],[2011-11-02],[2011-11-03])) b
但是项目经理想要喊在程序里面来行转列,他说sql里面转换代价会很大,时间久了数据库会吃不消,他说在程序里效率高些。我想听听大神们的意见。或者是怎么去比较两者的效率问题。
------解决方案--------------------或者说他只说对了一半吧, 跟放在哪性能好,是没有关系的, 只是说把压力丢给哪边, 给web server还是db server或者用户的浏览器。
设计思路问题,跟性能无关。
------解决方案--------------------行列轉換主要耗的是CPU, 看需處理的數據量如何?
如果數據量小的話,交給哪邊處理無所謂,
如果數據量大的話,建議由前端程序服務器來處理(基於負載均衡的原則).
------解决方案--------------------如果放数据库 就需要数据库开发人员来维护 放程序端 就需要程序员来维护
维护的人员不一样而已 哈哈