2012-02-02 37 views
0

我有一个在数据库中进行复杂计算的Asp.net项目。例如:我需要计算员工工资。此计算员工工资的查询操作非常漫长而复杂,因为应该计算员工的工作时间还有,每个月的假期和任务。我的问题:我是否使用函数sql服务器或实体框架查询进行此计算?哪种性能更好?使用函数sql server或实体框架查询进行数据库计算?

+1

欢迎来到Stack Overflow。恐怕我们无法帮助你,因为你的问题缺乏细节。到目前为止你尝试了什么,结果如何?另请阅读http://stackoverflow.com/questions/how-to-ask – 2012-02-02 13:12:18

回答

0

无法回答。

一般:

  • SQL是在计算标准的元素,而业务逻辑很大。按日期分组,统计分布等。

  • 如果您遇到了很多决策的法律问题,那么在应用程序中执行维护等操作可能会更好。也因为SQL更难调试,因为这些可能会改变。如果你发展壮大,你可能不得不为不同类型的人制定不同的逻辑 - 很多决策,当不同人群运行不同类别的不同脚本编码时,很容易做到。

我需要计算员工工资。用于计算员工工资这个查询动作很长 和复杂,因为必须计算出员工的工作时间还有,度假和任务在每月

我想这是更多的逻辑倾斜节目做得更好 - 即SQL外部。除非你是一家大公司,否则在那里处理的数据也不是很多。

哪个更好?

谁在乎呢?

SQL会更好,但问题在于它是否重要。如果你每月需要5分钟,在sql server中需要1分钟,那么sql server会更好,但这是无关紧要的。性能驱动的体系结构非常重要 - 只要它有所作为。在这个问题上,我怀疑它确实如此。你可能会计算每个线程在sql server之外每秒超过1名员工的方式。现代桌面高端= 12线程=每秒12人=每分钟720人。您可以轻松地每月进行一次晚上(8小时)的计算。自己做数学。性能在这里基本上不是问题。

这样的东西无论如何都是按批生产的 - 你每晚做批次或每月批次,然后你所有的时间(每月运行一次,完成)。这是不成熟的优化,因为它只是一个有10,000员工以上人员的问题。 在法律和合同方面随着时间的推移而变化的时候,我会更加关注长期维护。

+0

我有“会计成本”项目,计算主要是运行时。请解释更多,并告诉你的想法 – 2012-02-05 11:38:15

+0

不,对不起 - 问一个senrior。这可不是论坛,可能是一周长的项目。你问,我们回答。但“主要是运行时” - 这也意味着开始的数据量有限(您不会在运行时更改100.000名员工)。 – TomTom 2012-02-05 11:54:48

+0

非常感谢TomTom – 2012-02-05 15:40:56

-2

我认为更好的方法是在DB中进行计算。但是,这取决于你想要做什么样的计算。

+1

这是一个无答案。最好在数据库中进行,除非在那里做得更糟。 Gratulations。 – TomTom 2012-02-05 09:24:44

相关问题