Jak zmierzyć wydajność zapytań na bazie danych w entityframework i nhbirnate

Odpowiedz Nowy wątek
2019-01-10 23:28
Nieposkromiony Młot
0

Hej,
mam serwisy w których mam proste zapytania na bazie. Baza jest wypełniona kilkoma tysiącami rekordami i chciałbym zmierzyć wydajność tych zapytan.
Chce porównać które zapytania szybciej się wykonają, przy użyciu której warstwy dostępu do danych EntityFramework czy NHbirnate.

Wiecie przy pomocy czego bym był w stanie wykonać takie pomiary?

Pozostało 580 znaków

2019-01-11 00:13
2

Tracisz czas na głupoty. Jeśli chodzi Ci o porównanie czasów, to już inni to zrobili. Np: http://gergelyorosz.com/2009/[...]framework-a-performance-test/ albo https://www.linkedin.com/puls[...]ef-vs-dapper-balazs-hideghety
Chcesz wybierać technologię pod kątem wydajności. Nie zawsze jest to dobre. Czasem trzeba po prostu wybrać lepszą technologię. W zależności od tego, co piszesz.

Jeśli to mają być proste zapytania, to NIKT nie zwróci uwagi na czas ich wykonania. Naprawdę, nikt nie zauważy różnicy.

Jeśli bardzo Ci zależy na wydajności, to posłuż się procedurami składowanymi. Wtedy wszystko będzie się wykonywać na serwerze, a ponadto będziesz mógł badać plany wykonania.

Złota zasada mówi: Nie zaczynaj optymalizować aplikacji, póki nie ma takiej potrzeby.

Pozostało 580 znaków

2019-01-11 08:48
0

Bardziej chyba chodzi o wydajność Seleta. W tym wypadku struktura bazy danych może wspomóc trochę szybkość wykonania query (odpowiednie indeksy w bazie). Istnieje coś takiego jak query plan, prawie każdą baza to obsługuje. Łopatologicznie rozbita jest tam kolejność przetwarzania i czasy.

Pozostało 580 znaków

2019-01-11 09:19
1

Do robienia porównań najlepszy jest BenchmarkDotNet.

Wbrew pozorom w internecie nie ma wielu gotowych porównań najnowszych wersji ORM, o ile Dapper i NHibernate są już dojrzałymi produktami o tyle EF Core zmienia się dość często.


Pozostało 580 znaków

2019-01-11 22:43
0

Młocie, nie idź tą drogą. Sądząc po tym co piszesz nie będzie to miało dla Ciebie jeszcze przez jakiś czas zadnego znaczenia. A później też raczej nie.
Masz kilka tysięcy i chcesz sprawdzać jak się szybko wykona jakiś select? Pisz po prostu kod i sprzedawaj.

Pozostało 580 znaków

2019-01-11 22:49
1

Niedawno sprawdzałem i np. postgreSQL przestaje korzystać (w podstawowej konfiguracji) z indeksów, gdy liczba rekordów przekracza ok 800 tys. rekordów.
Ale to zależy również od wielu innych czynników

Na forum nie wolno zasłaniać twarzy, przepisy bezpieczeństwa! - somekind 2019-01-12 02:34
"Nie mamy Pańskiego płaszcza" - Marcin.Miga 2019-01-12 11:46

Pozostało 580 znaków

2019-01-13 14:53
0

również skorzystam z waszych odpowiedzi :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0