+ -
当前位置:首页 → 问答吧 → Sql2005行转列性能问题

Sql2005行转列性能问题

时间:2011-11-28

来源:互联网

目前做一个公司内部的广告投放效果分析系统,在做报表的时候需要根据日期对结果进行行转列,

我目前用得是
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里面转换代价会很大,时间久了数据库会吃不消,他说在程序里效率高些。我想听听大神们的意见。或者是怎么去比较两者的效率问题。

作者: sajiao   发布时间: 2011-11-28

你们经理是对的。
数据库提供数据就是了,至于显示成什么样,是前端的事了。你现在用数据库并不是在配置数据库报表。

作者: fcuandy   发布时间: 2011-11-28

或者说他只说对了一半吧, 跟放在哪性能好,是没有关系的, 只是说把压力丢给哪边, 给web server还是db server或者用户的浏览器。

设计思路问题,跟性能无关。

作者: fcuandy   发布时间: 2011-11-28

行列轉換主要耗的是CPU, 看需處理的數據量如何?

如果數據量小的話,交給哪邊處理無所謂,

如果數據量大的話,建議由前端程序服務器來處理(基於負載均衡的原則).

作者: ap0405140   发布时间: 2011-11-28

如果放数据库 就需要数据库开发人员来维护 放程序端 就需要程序员来维护


维护的人员不一样而已 哈哈

作者: fredrickhu   发布时间: 2011-11-28

热门下载

更多