首页 > 解决方案 > 带有 AspNet Identity / OWIN 的 ASP.NET MVC5 应用程序过于频繁地调用 SQL Server 视图 INFORMATION_SCHEMA.COLUMNS

问题描述

我是一名 SQL Server DBA,负责为一个应用程序存储数据的非常小的数据库,有人告诉我这是一个 ASP.NET MVC 5 应用程序。

该应用程序的用户数量最少,数据库很小,而且我相信该应用程序不包含自定义 SQL。换句话说,所有数据库访问都是由框架驱动的。

应用程序性能很差,简单的操作需要长达 1 分钟的时间。我只能看数据库性能非常好,除了 1 个问题。应用程序每秒发出大约 73 次以下查询。

(@Table nvarchar(11))
SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = @Table

我强烈怀疑这是导致性能不佳的原因。但是,开发人员不知道该语句在应用程序中的来源。对此有什么想法吗?我已经搜索了一个答案并找到了一个,但开发人员坚持认为它真的很旧并且不适用。

以下是来自开发者的更新:

** 已更新 ** 我们发现传递的 nvarchar(11) 参数是 AspNetUsers,它是用于 AspNet Identity 用户登录功能的表名。

因此,这不是 EF 问题,而是这些 SQL 查询是从 Asp.Net Identity 功能或 OWIN 中间件中生成的。

标签: .netsql-serverasp.net-identityowin

解决方案


推荐阅读