什么是提高SQL Server 2008R2数据库和.Net 3.5应用程序速度最常见和易于实现的解决方案?
我们有一个具有以下属性的应用程序: - 同时在线客户端数量很少(最多不超过200个)。 - SQL服务器端进行复杂的数学操作 - 我们正在模拟类似于Oracle的行级安全(因此使用tvf和storedprocs而不是直接查询表) - 主要问题是用户执行大量的更新/插入/删除/计算,他们会因为需要等待页面重新加载而感到恐慌。
我需要澄清的问题如下:
我们有一个具有以下属性的应用程序: - 同时在线客户端数量很少(最多不超过200个)。 - SQL服务器端进行复杂的数学操作 - 我们正在模拟类似于Oracle的行级安全(因此使用tvf和storedprocs而不是直接查询表) - 主要问题是用户执行大量的更新/插入/删除/计算,他们会因为需要等待页面重新加载而感到恐慌。
我需要澄清的问题如下:
- 什么更快:从SQL服务器返回整个数据集并在C#端执行数学函数,还是在SQL端执行计算函数(因此不返回额外列)。或者这只是硬件相关的?
- 缓存是否会提高性能(例如如果我们添加redis缓存)。或者缓存解决方案仅适用于大量客户端?
- 预先计算一些数据并将其存储在数据库中是否是一种不好的做法(因此,当用户请求时,它将已经被计算)。或者这就是缓存应该做的事情?如果这不是一种不好的做法,如何配置SQL服务器以在有可用资源时进行计算?
- 如果缓存仍然需要访问数据库并查看是否更新了任何记录,那么缓存如何提高性能?
欢迎提供一般建议和评论。