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

Bagaimana cara menghitung ruang disk yang digunakan oleh tabel MySQL dari tipe data kolom dan jumlah baris?

  • Ada lebih banyak overhead dari yang Anda sebutkan. 20 byte/baris mungkin menjadi dekat .
  • Jangan percaya SHOW TABLE STATUS untuk memberikan "Baris", gunakan SELECT COUNT(*) ... Perhatikan perbedaannya dengan hampir faktor 2.
  • Hitung dengan cara lain:135245332480 / 3017513240 =45 byte.
  • Dari 45 byte, saya menyimpulkan bahwa banyak sel yang NULL?
  • Setiap kolom di setiap baris memiliki overhead 1 atau 2 byte.
  • ROW_FORMAT penting.
  • TEXT dan BLOB (dll) memiliki aturan yang sangat berbeda dari tipe data sederhana.
  • Indeks membutuhkan lebih dari 6 byte yang Anda sebutkan (lihat postingan lain ).
  • Struktur Btree memiliki beberapa overhead. Saat dimuat secara berurutan, 15/16 dari setiap blok diisi (yang disebutkan di suatu tempat di dokumen). Setelah churn, kisaran dapat dengan mudah diisi 50-100%; a Btree condong ke 69% penuh (maka 1,45 di posting lain).

Memesan jumlah ruang yang sama untuk cadangan...

  • Saya tidak tahu apakah itu yang mereka lakukan.
  • Jika mereka menggunakan mysqldump (atau yang serupa), itu bukan formula yang aman -- teks dump database bisa lebih besar atau lebih kecil secara signifikan.
  • Jika mereka menggunakan LVM, maka mereka memiliki ruang untuk dump biner penuh. Tapi itu tidak masuk akal karena KK.
  • (Jadi, saya menyerah pada Q3.)

Mungkinkah layanan Cloud melakukan semacam kompresi?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Panjang indeks varchar MySQL

  2. klausa IN di mysql nodejs

  3. Membuat aplikasi web yang dapat bekerja offline, menyimpan data, lalu menyinkronkannya ke MySQL jarak jauh saat online?

  4. Bandingkan Nilai dengan String Dipisahkan Koma SQL PHP

  5. Apakah ada Skrip Peningkatan Musim Semi Batch 3 untuk MySQL?