为了账号安全,请及时绑定邮箱和手机立即绑定

从表中的语句花费一个小时很简单

从表中的语句花费一个小时很简单

C#
跃然一笑 2021-04-30 14:12:24
我有这条简单的线:var records = db.MyDbTable.Where(x => x.SupplierId.HasValue).ToList();而且执行需要一个小时。我表中有272行。该表有一列,NVARCHAR(MAX)里面有巨大的字符串。如何优化语句?之后在代码中,我有一个foreach,它会遍历记录并对其进行处理。db中的select语句需要5分钟。当我使用SQL事件探查器进行检查时,这是从C#转换而来的语句:SELECT     [Extent1].[id] AS [id],     [Extent1].[xml] AS [xml],     [Extent1].[name] AS [name],     [Extent1].[create] AS [create],     [Extent1].[sale] AS [sale],     [Extent1].[SupplierId] AS [SupplierId],     [Extent1].[Success] AS [Success],     [Extent1].[IId] AS [IId]    FROM [dbo].[MyDbTable] AS [Extent1]    WHERE [Extent1].[SupplierId] IS NOT NULL
查看完整描述

2 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

尝试在数据库中的where字段(SupplierId)上添加索引,看看是否有帮助。


查看完整回答
反对 回复 2021-05-16
  • 2 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信