Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak obliczyć przestrzeń dyskową używaną przez tabelę MySQL na podstawie typów danych kolumn i liczby wierszy?

  • Jest więcej kosztów ogólnych niż wspomniałeś. 20 bajtów/wiersz może być blisko .
  • Nie ufaj SHOW TABLE STATUS aby podać "Wiersze", użyj SELECT COUNT(*) ... Zwróć uwagę, jak to się skończyło prawie dwukrotnie.
  • Oblicz w drugą stronę:135245332480 / 3017513240 =45 bajtów.
  • Z 45 bajtów wnioskuję, że wiele komórek ma wartość NULL?
  • Każda kolumna w każdym wierszu ma 1- lub 2-bajtowy narzut.
  • ROW_FORMAT sprawy.
  • TEXT i BLOB (itd.) mają radykalnie inne zasady niż proste typy danych.
  • Indeksy zajmują znacznie więcej niż wspomniane 6 bajtów (zobacz swoje inne posty ).
  • Struktura BTree wiąże się z pewnym obciążeniem. Po załadowaniu w kolejności, 15/16 każdego bloku jest wypełnionych (jest to wspomniane gdzieś w dokumentacji). Po rezygnacji, zakres może być łatwo wypełniony w 50-100%; Btree grawituje do 69% pełnego (stąd 1,45 w innym wpisie).

Rezerwowanie równej ilości miejsca na kopię zapasową...

  • Nie wiem, czy to właśnie robią.
  • Jeśli używają mysqldump (lub podobnego), nie jest to bezpieczna formuła — tekst zrzut bazy danych może być znacznie większy lub mniejszy.
  • Jeśli używają LVM, mają miejsce na pełny zrzut binarny. Ale to nie ma sensu z powodu KROWY.
  • (Więc poddaję się w trzecim kwartale.)

Czy usługa Cloud może wykonywać jakąś kompresję?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja JavaScript publikuje i wywołuje skrypt php

  2. Mysql - Błąd analizy (błąd składni) w moim kodzie

  3. Mysql zamienia ' w â € ™?

  4. Przygotowane instrukcje PHP PDO i powiązanie wartości dają błąd nieprawidłowego numeru parametru

  5. Kolumna binarna Python-Sqlalchemy typu HEX() i UNHEX()