Temat: Znajomość ASP.NET, C# i MS SQL
Maciej Z.:
Właściwie zgadzasz się ze mną. Sorry, twoja wypowiedź że "nie zagadzam się" "trochę" mnie zmyliła :-) Tak, mam na myśli rozwiązania w których nie liczy się jak szybko przepchniesz projekcik przez drzwi, ale tam gdzie liczą się ułamki sekund w czasie wykonania zapytań. To właśnie mam na myśli przez poważniejsze, większe projekty i tutaj wydaje się że jednak się zgadzamy.
Nie miałem na myśli szybkiego przepchnięcia projektu. Raczej chodziło mi, że nie ma co szukać i od razu optymalizować bottle-necka na poziomie aplikacja-baza, bo może się okazać, że optymalizacja w innym miejscu da danm dużo więcej.
Jeśli mówimy o systemach, w których liczą się ułamki sekund (ale mam tu na myśli głównie jakieś systemy czasu rzeczywistego) to zgadzam się, bezpośrednie zapytania będą szybsze, gdyż będzie można je pod każdym względem wydajnościowym zoptymalizować pod nasz problem.
W moim poście odnośnie ORM'ów chodziło raczej o rozwiązania desktopowe, w których to użycie ORM'a ma sens, bo musisz np. wspierać dwa/trzy/więcej* różne systemu RDBMS.
* - niepotrzebne skreslić
Maciej Z.:
Dynamiczny SQL ma wiele zalet, ale jednak statycznie
skompilowane zapytania "stuningowane" przez specjalistę o
odpowiednich kwalifikacjach będą ZAWSZE per saldo szybsze i przy
większych projektach wydajność zapytań właśnie będzie jedynym
kryterium oceny.
Zgadzam się, tylko tuning zapytań nie wyklucza użycia ORM'a. Brałem udział w projekcie, w którym specjalista tuningował zapytania generowane przez ORM'a (zmieniana był kod ORM'a) na potrzeby bazy Oracla. Ja nigdy nie powiedziałem, że zapytania wygenerowane przez ORM'a będą szybsze. Wiadomo, jak coś jest do generalnego użycia to nie będzie tak szybkie jak coś napisane specyficznie pod dany problem. Chodzi mi o to, że można zacząć od ORM'a a w razie potrzeby optymalizować.
Paweł Łukasik edytował(a) ten post dnia 16.12.08 o godzinie 08:04