2016-10-28 129 views
-1

我已经在MVC4中开发了一个Web应用程序,它是一个关于信用和融资的应用程序。一次有40到50个用户使用应用程序。应用程序报告非常繁重,需要2到3分钟的时间才能生成。我正在使用单个数据库用户'sa'。应用程序用户和SQL登录

现在我正在考虑在Server 2008中创建所有应用程序用户。每个应用程序用户都将使用自己的数据库用户而不是'sa'用户。我的问题是,这是正确的决定?它会增加我的应用程序性能吗?如果不对,那我该如何提高它的表现?因为40个用户使用单个'sa'用户报告可能需要更多时间,而不是每个用户使用自己的数据库用户。

+0

请注意,模型 - 视图 - 控制器标记是关于模式的问题。 ASP.NET-MVC实现有一个特定的标签。 –

+2

要回答您的报告为什么很慢的问题,我们需要了解它是如何工作的以及您的输入数据是什么。它基本上只是一个提取数据并呈现它的SQL查询吗?如果是这样,那么你的查询可能需要调整我们不能没有看到它 - 所以如果你可以将它添加到你的问题,向我们展示每个涉及表的行数,并向我们展示来自数据库的解释计划,这将有很大帮助。也许你需要一些索引或查询修改。 – halfer

回答

0

在我看来,虽然可能有几个因素会影响性能,但使用差异。除非每个用户的数据进入单独的表或分区,否则每个应用程序用户的登录不应影响性能。

在真正说出具体的改变会提高性能之前,我们必须先看看影响性能的问题是什么。例如。表格的大小是多少,报告中的数据是由多个连接导致的报告引起的,是在线事务正在运行,同时报告也被拉出,是否有任何死锁事件发生等。

性能改进的起点之一是添加在分析查询之后合适的索引但是,我们必须记住,为报表优化添加索引可能会对其他应用领域产生负面影响,因为现在插入/更新这些索引表需要花费更多时间。

问候

Nilesh制作