Maybaygiare.org

Blog Network

Co To jest Cardinality w bazie danych?

bazy danych mają dużo żargonu, a cardinality jest jednym z tych słów, które doświadczeni ludzie zapominają, że dawno nie znali. Ale jeśli tego nie wiesz – a potrzeba trochę czasu, aby naprawdę poczuć się komfortowo z kardynalnością—jest to bardzo mylące, gdy dba po prostu upuszcza go w środku zdania bez zwalniania! Nie bój się: mam cię, jak to mówią.Cardinality oznacza dwie rzeczy w bazach danych. Dla naszych celów jedno jest ważniejsze od drugiego. Najpierw zróbmy ten prosty, a następnie zagłębimy się w ten, który ma znaczenie dla wydajności zapytań.Definicja cardinality, która ma duże znaczenie dla wydajności zapytań, to cardinality danych. Chodzi o to, ile różnych wartości znajduje się w kolumnie.Pierwszym znaczeniem cardinality jest projektowanie bazy danych – tzw. modelowanie danych. W tym sensie, cardinality oznacza, czy związek jest jeden do jednego, wiele do jednego, lub wiele do wielu. Więc naprawdę mówisz o kardynalności związku.Oficjalna, nie bazodanowa definicja słownikowa Cardinality jest matematyczna: liczba wartości w zestawie. Po zastosowaniu do baz danych znaczenie jest nieco inne: jest to liczba odrębnych wartości w kolumnie tabeli w stosunku do liczby wierszy w tabeli. Powtarzane wartości w kolumnie nie liczą się.Zwykle jednak nie mówimy o kardynalności jako o liczbie. Częściej mówi się po prostu o „wysokiej” i „niskiej” kardynalności. Wiele różnych wartości to wysoka cardinality; wiele powtarzających się wartości to niska cardinality.Zdjęcie tabeli opisu produktu w bazie danych e-commerce:kolumnaProductID będzie miała dużą wagę, ponieważ prawdopodobnie jest to klucz podstawowy tej tabeli, więc jest całkowicie unikalna. Jeśli w tabeli jest tysiąc wierszy, będzie tysiąc różnych wartościProductID. KolumnaCategory będzie miała wiele powtórzeń i będzie niska lub średnia: może 50 lub 100 różnych wartościCategoryName jest prawdopodobnie wysoka cardinalność, chyba że ta tabela ma więcej niż na pierwszy rzut oka (np. wiele wierszy dla różnych kolorów produktu i innych odmian).Cardinality ma duży wpływ na wydajność, ponieważ wpływa na plan wykonywania zapytań. Planista zbada statystyki kolumn i wykorzysta je, aby dowiedzieć się, ile wartości może dopasować zapytanie, między innymi. W zależności od tego, co znajdzie, może używać różnych planów wykonywania zapytań, aby spróbować uzyskać najlepszą wydajność. Ale to temat na inny post na blogu, ponieważ potrzeba trochę pracy, aby explain.So następnym razem, gdy ktoś wrzuci „wysoką Kardynalność” do zdania bez pauzy, wiesz, że naprawdę oznacza ” wiele różnych wartości.”I oto jest!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.