时间:2021-05-20
一,要提升性能,我们先要知道耗时的地方在哪里
1,数据库查询,
2,把数据组合成新集合循环嵌套太多
二,那我们怎么优化呢?
一,数据库查询,
1》,数据库查询:如果数据量小,我们可以用临时datatable,连表查询,,可是如果是连表都是千万级上亿数据,就不建议用连表
那这个时候该怎么办呢?
2》这个时候我们可以选择先单表查询,然后再循环体查询自己所要的其他关联数据,这个时候我们需要注意的点是什么?
3》减少数据库查询!!!!!!!!!这个是重点,那怎么减少呢?正常逻辑如下代码,可是数据量很耗性能
foreach (var item in listST){ var sModel= GetModel(); //如果这个方法每次都查询一次数据库,会很耗性能!!!导致循环循环很慢!,即时使用缓存也会很慢 item.name = sModel.name;}4》我们可以换一种思路,优化如下代码:
List<Student> listST = new List<Student>();List<int> listInt = new List<int>();int g = 0;foreach (var item in listST){ ////我们可以选择每两千条数据查询一次 ////保存成一个集合 if (g % 2000 == 0) { listST = GetList($"id in ({string.Join(",", listST.Skip(g).Take(2000).Select(m => m.id).Distinct().ToArray())})", 2000, 1, "name,Id"); } var sModel = listST.FirstOrDefault(m => m.id == item.id); item.name = sModel.name; g++;}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一,程序执行慢导致的原因就是查询数据库慢.,导致返回值慢,那这个要怎么解决呢?1,优化数据库查询如这个文章C#导出数据到excel如何提升性能2,使用线程并行查
本文实例讲述了C#自定义导出数据到Excel的类。分享给大家供大家参考。具体如下:C#自定义Excel操作类,可以用于将DataTable导出到Excel文件,
本文实例讲述了C#导出GridView数据到Excel文件类。分享给大家供大家参考。具体如下:这段C#代码自定义了一个封装类,用于将GridView数据导出到E
本文实例讲述了C#导出数据到Excel文件的方法。分享给大家供大家参考。具体实现方法如下://////导出到Excel类,项目需引用Microsodt.Offi
本文实例讲述了C#使用oledb导出数据到excel的方法。分享给大家供大家参考,具体如下:现在做应用的一半都会碰到数据导出的问题,导出到word阿,导出到ex