我们有一个支持大约 500 多个用户的 Windows 应用程序(用 .Net 编写)。这个应用程序有一个特定的功能,它将带回大约 40k 记录(在 MS SQL Server 上),每天运行几次。
但是,当运行这个大型查询时,系统的其他用户似乎正在“超时”,这对我来说似乎意味着大型查询占用了服务器资源并导致其他用户无法正确使用系统。
我试图了解资源分配是如何工作的,因为我觉得 40k 查询并不完全庞大,但相当大。
我们的应用架构是 UI -> 服务层 -> Web Service -> 数据库
可能是导致问题的 Web 服务,还是我的查询可能“锁定”了 SQL 数据库而不让其他用户与之交互?
SQL 查询非常简单,它从特定表中选择所有记录(该表包含从其他表中提取的数据,现在大约有 40k 条记录,表中大约有 50 列):
SELECT *
FROM MyTable
几乎是查询。没有连接,我正在使用存储过程。