欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#導出數(shù)據(jù)到excel如何提升性能

 更新時間:2020年07月13日 09:43:24   作者:葉丶梓軒  
這篇文章主要介紹了C#導出數(shù)據(jù)到excel如何提升性能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一,要提升性能,我們先要知道耗時的地方在哪里

1,數(shù)據(jù)庫查詢,

2,把數(shù)據(jù)組合成新集合循環(huán)嵌套太多

二,那我們怎么優(yōu)化呢?

一,數(shù)據(jù)庫查詢,

1》,數(shù)據(jù)庫查詢:如果數(shù)據(jù)量小,我們可以用臨時datatable,連表查詢,,可是如果是連表都是千萬級上億數(shù)據(jù),就不建議用連表

那這個時候該怎么辦呢?

2》這個時候我們可以選擇先單表查詢,然后再循環(huán)體查詢自己所要的其他關(guān)聯(lián)數(shù)據(jù),這個時候我們需要注意的點是什么?

3》減少數(shù)據(jù)庫查詢?。。。。。。。?!這個是重點,那怎么減少呢?正常邏輯如下代碼,可是數(shù)據(jù)量很耗性能

foreach (var item in listST)
{
  var sModel= GetModel(); //如果這個方法每次都查詢一次數(shù)據(jù)庫,會很耗性能?。?!導致循環(huán)循環(huán)很慢!,即時使用緩存也會很慢
  item.name = sModel.name;
}

4》我們可以換一種思路,優(yōu)化如下代碼:

List<Student> listST = new List<Student>();
List<int> listInt = new List<int>();
int g = 0;
foreach (var item in listST)
{
  ////我們可以選擇每兩千條數(shù)據(jù)查詢一次
  ////保存成一個集合
  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++;
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Unity3D實現(xiàn)物體閃爍效果

    Unity3D實現(xiàn)物體閃爍效果

    這篇文章主要為大家詳細介紹了Unity3D實現(xiàn)物體閃爍效果,類似霓虹燈、跑馬燈、LED燈效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • C# 定時器?;顧C制引起的內(nèi)存泄露問題解決

    C# 定時器保活機制引起的內(nèi)存泄露問題解決

    這篇文章主要介紹了C# 定時器?;顧C制引起的內(nèi)存泄露問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • C#正則表達式Regex類用法實例分析

    C#正則表達式Regex類用法實例分析

    這篇文章主要介紹了C#正則表達式Regex類用法,實例分析了其中比較常見的幾類用法,具有一定的實用價值,需要的朋友可以參考下
    2014-10-10
  • C#備忘錄人生存檔的設(shè)計模式實例

    C#備忘錄人生存檔的設(shè)計模式實例

    這篇文章主要為大家介紹了C#設(shè)計模式中備忘錄模式的實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • unity實現(xiàn)簡單的貪吃蛇游戲

    unity實現(xiàn)簡單的貪吃蛇游戲

    這篇文章主要為大家詳細介紹了unity實現(xiàn)簡單的貪吃蛇游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • C#使用DLLImport調(diào)用外部DLL的方法

    C#使用DLLImport調(diào)用外部DLL的方法

    這篇文章介紹了C#使用DLLImport調(diào)用外部DLL的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • 實例分享C#中Explicit和Implicit用法

    實例分享C#中Explicit和Implicit用法

    本篇文章主要給讀者們分享了C#中Explicit和Implicit的用法,對此有需求和興趣的朋友們一起學習下吧。
    2017-12-12
  • 詳解C#的排列組合

    詳解C#的排列組合

    本文詳細介紹了C#中的排列組合以及具體實現(xiàn)代碼,如下所示,希望對大家有所幫助
    2016-11-11
  • 基于WPF實現(xiàn)瀑布流控件

    基于WPF實現(xiàn)瀑布流控件

    這篇文章主要介紹了如何基于WPF實現(xiàn)簡單的瀑布流控件,文中的示例代碼講解詳細,對我們的學習或工作有一定幫助,需要的小伙伴可以參考一下
    2024-02-02
  • user32.dll 函數(shù)說明小結(jié)

    user32.dll 函數(shù)說明小結(jié)

    這篇文章主要介紹了user32.dll 函數(shù)說明,需要的朋友可以參考下
    2018-06-06

最新評論