Apa kardinalitas di MySQL? Tolong jelaskan dalam bahasa non-teknis yang sederhana.
Jika detail indeks dari tabel mana pun menampilkan kardinalitas bidang yang dikatakan group_id
sebagai 11, lalu apa artinya itu?
Kardinalitas maks: Semua nilai unik
Kardinalitas minimum: Semua nilai adalah sama
Beberapa kolom disebut kolom berkardinalitas tinggi karena memiliki batasan (seperti unik) yang melarang Anda memasukkan nilai yang sama di setiap baris.
Kardinalitas adalah properti yang mempengaruhi kemampuan untuk mengelompokkan, mengurutkan dan mencari data. Oleh karena itu, ini merupakan pengukuran penting untuk perencana kueri di DB, ini adalah heuristik yang dapat mereka gunakan untuk memilih rencana terbaik.
Wikipedia merangkum kardinalitas dalam SQL sebagai berikut:
sumber
Ini adalah perkiraan jumlah nilai unik dalam indeks.
Untuk tabel dengan kolom kunci primer tunggal, kardinalitas biasanya harus sama dengan jumlah baris dalam tabel.
Informasi lebih lanjut .
sumber
Ini pada dasarnya terkait dengan tingkat keunikan nilai kolom sesuai artikel Wikipedia yang ditautkan oleh Kami.
Mengapa penting untuk dipertimbangkan adalah karena hal itu memengaruhi strategi pengindeksan. Akan ada gunanya mengindeks kolom berkardinalitas rendah dengan hanya 2 kemungkinan nilai karena indeks tidak akan cukup selektif untuk digunakan.
sumber
Semakin tinggi kardinalitas, semakin baik diferensiasi baris. Diferensiasi membantu menavigasi lebih sedikit cabang untuk mendapatkan data.
Oleh karena itu, nilai kordinalitas yang lebih tinggi berarti:
sumber
Dalam istilah matematika, kardinalitas adalah hitungan nilai dalam sekumpulan nilai. Satu set hanya dapat berisi nilai unik. Contohnya adalah himpunan "A".
Misalkan himpunan "A" menjadi: A = {1,2,3} - kardinalitas dari himpunan itu adalah | 3 |.
Jika set "A" berisi 5 nilai A = {10,21,33,42,57}, maka kardinalitasnya adalah | 5 |.
Artinya dalam konteks mysql adalah bahwa kardinalitas kolom tabel adalah jumlah nilai unik kolom itu. Jika Anda melihat kardinalitas kolom kunci utama Anda (mis. Table.id), maka kardinalitas kolom tersebut akan memberi tahu Anda berapa banyak baris yang ada dalam tabel itu, karena ada satu ID unik untuk setiap baris dalam tabel. Anda tidak perlu melakukan "JUMLAH (*)" pada tabel itu untuk mengetahui berapa banyak baris yang dimilikinya, cukup lihat kardinalitasnya.
sumber
Secara sederhana, kardinalitas adalah jumlah baris atau tupel di dalam tabel. Jumlah kolom disebut "derajat"
sumber
Dari manual :
Dan analisis dari Percona :
sumber