Hirdetés

Új hozzászólás Aktív témák

  • martonx

    veterán

    válasz Goose-T #5865 üzenetére

    Illetve ehhez tenném még hozzá, hogy rengetegen képtelenek az EF-et optimálisan használni. Mondok pár példát, nem neked címezve, de a te hsz-edhez kiegészítve:

    1. db.savechanges-t foreach-en belül rengetegszer látom, miközben a foreach végén egy kötegben kiadott db.savechanges pont ugyanúgy mind az X ezer insert-et elvégezné, csak éppen jóval hatékonyabban, mint tízezerszer szólni az SQL-nek, hogy insertálj egy sort. Ez pláne távoli felhős SQL-ek esetében pár nagyságrendet tud rajtunk gyorsítani.
    2. pont a nagy tranzakciószámokhoz lett kitalálva a Configuration.ValidateOnSaveEnabled = false kapcsoló, amivel a csomó EF-es belső validációt ki lehet iktatni töredékére csökkentve ezzel az EF-es overhead-et.
    3. Configuration.AutoDetectChangesEnabled = false is egy hasznos kapcsoló külső adatok db importja esetén. Minél több az importálandó adat, annál hasznosabb.

    Persze a legjobb a Bulk Insert, csak van amikor ez betegesen le van korlátozva, illetve egyszerűen a fenti pontok ismeretében az EF-es insertelgetést is lehet ésszel csinálni.

Új hozzászólás Aktív témák