Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Ukuran tabel maksimum untuk database MySQL

Saya pernah bekerja dengan database MySQL (Terabyte+) yang sangat besar. Tabel terbesar yang kami miliki benar-benar lebih dari satu miliar baris.

Itu berhasil. MySQL memproses data dengan benar hampir sepanjang waktu. Itu sangat berat sekalipun.

Mencadangkan dan menyimpan data saja merupakan tantangan. Perlu waktu berhari-hari untuk memulihkan tabel jika perlu.

Kami memiliki banyak tabel dalam kisaran 10-100 juta baris. Setiap penggabungan signifikan ke tabel terlalu memakan waktu dan akan memakan waktu lama. Jadi kami menulis prosedur tersimpan untuk 'menjalankan' tabel dan memproses gabungan terhadap rentang 'id'. Dengan cara ini kami akan memproses data 10-100.000 baris sekaligus (Gabung melawan 1-100.000 id lalu 100.001-200.000, dll). Ini jauh lebih cepat daripada bergabung melawan seluruh tabel.

Menggunakan indeks pada tabel yang sangat besar yang tidak didasarkan pada kunci utama juga jauh lebih sulit. Mysql menyimpan indeks dalam dua bagian -- ia menyimpan indeks (selain indeks utama) sebagai indeks ke nilai kunci utama. Jadi pencarian yang diindeks dilakukan dalam dua bagian:Pertama MySQL pergi ke indeks dan menarik darinya nilai-nilai kunci utama yang perlu ditemukan, kemudian melakukan pencarian kedua pada indeks kunci utama untuk menemukan di mana nilai-nilai itu.

Jaringnya adalah bahwa untuk tabel yang sangat besar (1-200 Juta plus baris) pengindeksan terhadap tabel lebih ketat. Anda membutuhkan indeks yang lebih sedikit dan lebih sederhana. Dan bahkan melakukan pernyataan pemilihan sederhana yang tidak langsung pada indeks mungkin tidak akan pernah kembali. Dimana klausa harus tekan indeks atau lupakan saja.

Tapi semua yang dikatakan, hal-hal yang benar-benar bekerja. Kami dapat menggunakan MySQL dengan tabel yang sangat besar ini dan melakukan perhitungan serta mendapatkan jawaban yang benar.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP tidak menampilkan hasil dari kueri MYSQL

  2. com.mysql.jdbc.PacketTooBigException

  3. SET GLOBAL max_allowed_packet tidak berfungsi

  4. MYSQL - karakter Turki

  5. Bagaimana menemukan mesin penyimpanan tabel sementara MySQL