Azure中的SQL执行需要很长时间

时间:2017-01-30 00:25:58

标签: azure asp.net-core azure-sql-database

我正在使用ASP.NET Core 1.1。

以下是占用大部分时间并导致所有这些问题的查询:

C#

    List<Message> messages =await _context.Messages.Where(m => m.UserId.Equals(_userManager.GetUserId(User)))
    .Select(m => new Message { ID = m.ID, DateTime = m.DateTime, Text = m.Text }).ToListAsync();

SQL

SELECT [m].[ID], [m].[DateTime], [m].[Text] FROM [Messages] AS [m] WHERE [m].[UserId] = @__GetUserId_0

执行计划统计: Execution plan statistics

我的网站变得非常慢,没有响应,有时会显示错误。

1 个答案:

答案 0 :(得分:1)

正如我在评论中所述:您的执行计划显示了近500,000行的索引扫描。您似乎正在进行完整扫描,而不是点击索引。

我怀疑在UserId上添加索引可以解决此问题,因为这是WHERE子句中唯一使用的字段。