Rumah  >  Artikel  >  pangkalan data  >  Berapa banyak data yang boleh disimpan oleh jadual MySQL?

Berapa banyak data yang boleh disimpan oleh jadual MySQL?

WBOY
WBOYke hadapan
2023-01-22 07:30:013296semak imbas

Artikel ini membawakan anda pengetahuan yang berkaitan tentang MySQL Pengaturcara mesti banyak berurusan dengan MySQL. Boleh dikatakan mereka terdedah kepadanya setiap hari, tetapi berapa banyak data yang boleh disimpan oleh jadual MySQL. Apakah asas untuk pengiraan? Mari kita bincangkan bersama-sama, saya harap ia akan membantu semua orang.

Berapa banyak data yang boleh disimpan oleh jadual MySQL?

1. Persediaan pengetahuan

1.1. Halaman data

Dalam sistem pengendalian, kita tahu bahawa untuk berinteraksi dengan cakera, Memori juga dihalakan, dengan saiz halaman 4KB. Begitu juga, dalam MySQL, untuk meningkatkan kadar pemprosesan, data juga dihalakan, tetapi saiz halaman data MySQL ialah 16KB. (Tepatnya, saiz halaman data InnoDB ialah 16KB). Untuk kajian terperinci, sila rujuk laman web rasmi Kami boleh menanyakannya dengan arahan berikut.

mysql> SHOW GLOBAL STATUS LIKE 'innodb_page_size';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| Innodb_page_size | 16384 |
+------------------+-------+
1 row in set (0.00 sec)

Kami tidak pergi ke penunjuk struktur khusus halaman data kami hari ini. Hanya tahu bahawa ia adalah 16kb secara lalai, yang bermaksud bahawa saiz data nod ialah 16kb

1.2. Struktur indeks ( innodb)

Kita semua harus tahu struktur indeks mysql, iaitu struktur b+ tree berikut

Berapa banyak data yang boleh disimpan oleh jadual MySQL?

Biasanya b+ tree bukan -nod daun tidak menyimpan data, hanya meninggalkan Nod (lapisan bawah) sahaja menyimpan data, jadi mari kita kembali ke nod A merujuk kepada (untuk gambar di atas)

Berapa banyak data yang boleh disimpan oleh jadual MySQL?<.> setiap kotak merah yang dipilih Satu bahagian dipanggil nod, bukan elemen. Selepas memahami konsep nod dan saiz setiap nod adalah 16kb, adalah lebih mudah untuk kita mengira berapa banyak data yang boleh disimpan oleh mysql

2 pengiraan

Mula-mula kita hanya melihat pada nod akar

Sebagai contoh, jenis data yang kita tetapkan adalah bigint dan saiznya ialah 8b

Dalam data itu sendiri, kini terdapat ruang Blok kecil digunakan untuk menyimpan alamat halaman data indeks peringkat seterusnya Saiznya ialah 6kb

Berapa banyak data yang boleh disimpan oleh jadual MySQL?

, jadi kita boleh. hitung data sebagai (8b+6b=14b) Ruang (mengambil bigint sebagai contoh) Kami baru sahaja menyebut bahawa saiz halaman data ialah 16kb, iaitu (16*1024)b, maka nod akar boleh menyimpan (16* 1024/(8+6)) data Hasilnya ialah kira-kira 1170 data Jika boleh dikira mengikut kaedah pengiraan nod, maka langkah seterusnya adalah mudah.

Berapa banyak data yang boleh disimpan oleh jadual MySQL?2.2. Pengiraan nod dalam lapisan lain

Lapisan kedua sebenarnya lebih mudah, kerana struktur data setiap nod adalah sama dengan nod, dan setiap elemen dalam nod akan memanjangkan satu nod, jadi Jumlah data dalam lapisan kedua ialah 1170*1170=1368900 Masalahnya terletak pada lapisan ketiga, kerana nod daun innodb secara langsung mengandungi keseluruhan data mysql, ruang yang diduduki oleh data bukan kecil. Di sini kita Kira berdasarkan 1kb, jadi pada lapisan ketiga, setiap nod adalah 16kb, maka setiap nod boleh menyimpan 16 data, jadi jumlah data yang boleh disimpan oleh mysql pada akhirnya adalah

1170 * 1170 * 16 = 21902400 (berpuluh juta item)

Malah, hasil pengiraan adalah konsisten dengan pengalaman kerja biasa kami Secara amnya, jika data dalam jadual MySQL melebihi puluhan juta, ia mestilah dibahagikan kepada jadual.

3. Ringkasan

Akhir sekali, gunakan gambar untuk meringkaskan apa yang dibincangkan hari ini. Pembelajaran yang Disyorkan:

tutorial video mysql

Atas ialah kandungan terperinci Berapa banyak data yang boleh disimpan oleh jadual MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam