databáze mají spoustu žargonu a kardinalita je jedním z těch slov, která zkušení lidé mají tendenci zapomínat, že kdysi nevěděli. Ale pokud to nevíte—a chvíli trvá, než se skutečně dostat pohodlně s mohutnost—je to velmi matoucí, když DBA jen kapky do středu věty bez zpomalení! Neboj se: mám tě, jak se říká.Kardinalita znamená v databázích dvě věci. Pro naše účely, na jednom záleží mnohem víc než na druhém. Udělejme nejprve ten jednoduchý a pak se podíváme na ten, který je důležitý pro výkon dotazu.Definice kardinality, která je pro výkon dotazu hodně důležitá, je datová kardinalita. Jedná se o to, kolik odlišných hodnot je ve sloupci.První význam kardinality je, když navrhujete databázi-to, co se nazývá datové modelování. V tomto smyslu, kardinalita znamená, zda je vztah jeden k jednomu, mnoho k jednomu, nebo mnoho k mnoha. Takže opravdu mluvíte o kardinálnosti vztahu.Oficiální definice slovníku Cardinality, která není databází, je matematická: počet hodnot v sadě. Při použití v databázích je význam trochu odlišný: je to počet odlišných hodnot ve sloupci tabulky vzhledem k počtu řádků v tabulce. Opakované hodnoty ve sloupci se nepočítají.Obvykle však nemluvíme o kardinalitě jako o čísle. Je běžnější jednoduše mluvit o“ vysoké „a“ nízké “ kardinalitě. Mnoho odlišných hodnot je vysoká kardinalita; mnoho opakovaných hodnot je nízká kardinalita.Obrázek tabulky popisu produktu v databázi elektronického obchodování:sloupec ProductID
bude vysoce kardinální, protože je pravděpodobně primárním klíčem této tabulky, takže je zcela jedinečný. Pokud je v tabulce tisíc řádků, bude tisíc různých hodnot ProductID
Category
sloupec bude mít hodně opakování, a to bude nízké nebo střední kardinalita: možná 50 nebo 100 různých Category
hodnoty. Name
je pravděpodobně vysoká mohutnost, pokud tam je více k této tabulce, než se na první pohled (jako více řádků pro jiný produkt barvy a jiné variace).Kardinalita ovlivňuje výkon hodně, protože ovlivňuje plán provádění dotazu. Plánovač prozkoumá statistiky sloupců a použije je, aby zjistil, kolik hodnot bude dotaz pravděpodobně odpovídat, mimo jiné. V závislosti na tom, co najde, může použít různé plány provádění dotazů, aby se pokusil získat nejlepší výkon. Ale to je téma pro jiný blogový příspěvek, protože to vyžaduje trochu práce explain.So nyní, příště někdo upustí „vysokou kardinalitu“ do věty bez pozastavení, víte, že ve skutečnosti znamenají „mnoho různých hodnot.“A tady to máte!
Maybaygiare.org
Blog Network
Maybaygiare.org
Blog Network