首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linq-to-SQL父链接删除速度较慢

问Linq-to-SQL父链接删除速度较慢
EN

Stack Overflow用户
提问于 2019-02-01 06:39:54
回答 1查看 31关注 0票数 0

我们有一个带有自链接的表,需要删除一些行。我正在删除行之前删除链接,但它非常非常慢。由于需要删除数千行,因此我需要一种更快的方法。

我试着将SubmitChanges移出循环,但速度并不快。我已经验证了用于检索要删除的行的查询不是问题。

代码语言:javascript
复制
public void ClearOldRunStops()
{
    List<RunStop> runStops = db.RunStops.Where(a => a.shiftstarttime < DateFunctions.UtcNow().AddDays(-15) && a.status == RunStopStatus.Deleted.ToString()).ToList();

    for (int counter = 0; counter < runStops.Count; counter++)
    {
        //remove any RunStop self-links before row deletion
        for (int counter2 = 0; counter2 < runStops[counter].RunStops.Count; counter2++)
            runStops[counter].RunStops[counter2].runstopid = null;

        db.RunStops.DeleteOnSubmit(runStops[counter]);

        db.SubmitChanges();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-02-01 09:38:49

我最终找到了它,runstopid上需要一个索引,否则它会对每个父链接删除执行表扫描。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54470274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档