LINQ vs. SQL teljesítmény

Az előző cikkemmel csak az volt a célom, hogy megmutassam, hogyan lehet megírni ugyanazt a lekérdezést kétféle módon, a teljesítményüket nem is vizsgátam, mivel érzésre egyik se volt túl lassú.

Laci kommentjében a teljesítmény kérdésre hívta fel a figyelmem, hát megnéztem, mi itt a helyzet. Nos, megúszta a LINQ, pedig nem akartam neki reklámot csinálni. Pontosan ugyanolyan teljesítményű lett a két megoldás, ami nem csoda, hisz pontosan ugyanaz az SQL végrehajtási tervet eredményezik! Egyetlen különbség, hogy a sorszámozást LINQ esetén csak procedurálisan tudtam megcsinálni, így a LINQ sql-es kódjában az nem szerepel, de ennek költsége nem is jelent meg a tiszta SQL megoldás végrehajtási tervében, annyira kicsi.

A lényeg tehát, hogy a LINQ nem feltétlenül lassú, sőt, teljesen egyenértékű lehet a hagyományos SQL-es megoldással. De miért is lenne más? Hisz egyszerűen arról van szó, hogy másképp írom le ugyanazt a specifikációt, az egész hatékonysága azon múlik, mennyire okos a LINQ to SQL sqlgenerátora. A jelek szerint egyszerűbb lekérdezésekre tökéletes.

Aki nem hiszi amit írok, nézze meg az alábbi képet (rákattintva nagyban).

LINQ vs SQL teljesítmény

5 Responses to “LINQ vs. SQL teljesítmény”

  1. Laci Says:

    Nem magának az SQL futási teljesítményére gondoltam, elnézést ha félreérthető voltam… Én komplett webes alkalmazás felépítésénél teszteltem a linq-t a “hagyományos” tárolt eljárás, IDataReader stb. változattal szemben. Itt vesztett magasan a Linq. Az XLinq-val olyan tapasztalatom volt, hogy bizonyos node-szám után brutális lassulást mutatott a rajta végzett művelet.

  2. Laci Says:

    + tényleg csak a preview változattal teszteltem, azóta jelentősen javulhatott a helyzet.

  3. Soczó Zsolt Says:

    Ez a sorozat sok mindent megmagyaráz:

    http://blogs.msdn.com/ricom/archive/2007/06/22/dlinq-linq-to-sql-performance-part-1.aspx

    Sokat húztak rajta út közben.

  4. Laci Says:

    Én még tavaly tavasszal teszteltem, azóta nem követtem a változásokat. Ha jól emléxem, akkor a CompiledQuery még csak pletyka volt:-)

  5. Soczó Zsolt Says:

    Pedig attól gyors :)

Leave a Reply