2010-07-02 15 views
5

Często tworzone zapytania mają 7-8 połączeń w celu pobrania danych. Czy te liczne połączenia są normalne w rzeczywistej aplikacji bazodanowej, czy też mój projekt bazy danych jest marny? Jestem ciekawy, ponieważ jeśli na każdym wniosku baza danych musi wykonać tak dużo pracy, to czy nie umrze, jeśli kilka tysięcy klientów się połączy?Ile połączeń na funkcjonalność w aplikacji świata rzeczywistego?

Odpowiedz

2

Moim zdaniem jest nieuniknione w niektórych przypadkach, kluczem jest posiadanie poprawnych indeksów dla zapytań, które robisz. Z głębokim wykresem obiektów w ORM, lub może jednym z połączonymi podklasami, łatwo byłoby przejść przez 7-8 złączeń, o których mówisz. Bardzo chciałbym usłyszeć, co wszyscy mają do powiedzenia na ten temat :)

+0

OP - niektóre z bardziej skomplikowanych rzeczy w naszej aplikacji korzystają z kilkunastu tabel. Indeksujemy również rzeczy, które pasują do naszych strategii łączenia. Możesz ponownie odwiedzić swój projekt *, jeśli zauważysz problemy. – DaveE

1

Nie można wyciągnąć Wniosku w tym zakresie bez szczegółowych danych logiki aplikacji. Jeśli logika aplikacji prowadzi do nieuniknionych połączeń w celu zachowania integralności, to nie jest problem, a platforma bazy danych musi się z tym liczyć.

1

To dużo połączeń. Trudno powiedzieć, nie widząc swojego schematu, ale widziałem przypadki, w których ludzie wpadli w złość, tworząc skomplikowany schemat. Pamiętam jedną aplikację, nad którą pracowałem, gdzie każdy adres i numer telefonu w systemie był traktowany jako encja, a zapytania często dotyczyły złączeń kilkunastu tabel. Powinieneś być ostrożny przy tworzeniu schematu, aby odróżnić te rzeczy, którymi zależy ci na indywidualnym śledzeniu i wszystkim innym, w przeciwnym razie możesz skończyć z niepotrzebną złożonością.

Powiązane problemy