zoukankan      html  css  js  c++  java
  • NetCore性能优化

    NetCore性能优化

    2.非跟踪查询
    在只读方案中使用结果时,非跟踪查询十分有用,可以更快速地执行。
    增加AsNoTracking()表示非跟踪,如:
    var users = context.User.AsNoTracking();

    还可以在上下文实例级别更改默认跟踪行为:
    context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
    var users = context.User;

    全局筛选

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<User>().HasQueryFilter(p => !p.IsDeleted);
    }

    批量处理

    1. 1.批量操作
    2. 批量更新:
    3. int   count = context.User.Where(u=>u.UserName=="张三1").Update(u=> new User{ UserName= "李四1" });
    4. 批量删除:
    5. int   count = context.User.Where(u=>u.UserName=="张三1").Delete();
    复制代码



    5.合理使用tolist,toList是将数据库开销后将记录数放置到程序的内存中,大数据下禁止使用。
    6.频繁查询应调用缓存记录,例如:获取角色资源列表接口。
    7.split 方式操作集合应使用linq方式,不推荐使用遍历方式。

  • 相关阅读:
    MongoDB的C#驱动
    在C#使用MongoDB
    MongoDB 主从复制
    MongoDB 索引操作
    MongoDB 分片技术
    Mongodb 与sql 语句对照
    MongoDB命令使用示例
    MongoDB 高级操作
    MongoDB 细说增删查改
    MongoDB 运维技术
  • 原文地址:https://www.cnblogs.com/PingleDay/p/15742589.html
Copyright © 2011-2022 走看看