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

Czy InnoDB ma tabele statyczne?

InnoDB ma wiersze o stałej szerokości i deklarowanie wszystkich kolumn w tabeli jako o stałej szerokości może być korzystne. Główną korzyścią jest to, że wszystkie „dziury” na stronie mogą być ponownie użyte do dowolnego wstawiania, ponieważ wszystkie wiersze mają tę samą długość. To sprawia, że ​​ponowne wykorzystanie przestrzeni jest nieco bardziej wydajne. Nie próbowałbym jednak wymuszać stałej szerokości dla dowolnych ciągów o długości kilkudziesięciu bajtów, ponieważ koszt przechowywania dodatkowych danych na stronę (a tym samym mniej wierszy na stronę) szybko przewyższyłby wszelkie oszczędności/zyski, które można uzyskać z większej wydajne ponowne wykorzystanie przestrzeni.

Jednak posiadanie wierszy o stałej szerokości nie pozwalają na dowolną optymalizację skanowania wierszy (jak to ma miejsce w przypadku MyISAM). Przechowywanie wierszy w InnoDB jest zawsze oparte na stronach i wykorzystuje drzewo B+ z podwójnie połączonymi listami stron i pojedynczo powiązanymi rekordami w obrębie strony. Przemierzanie wierszy zawsze korzysta z tych struktur i nie można tego zrobić w żaden inny sposób.



  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 konwertuje datę i czas na sekundy

  2. Jak zaimplementować zagnieżdżone przygotowane instrukcje MySQLi?

  3. Niezgodność MySQL z PHP

  4. Dodawanie klucza obcego nie powiodło się w MySQL z kodem błędu 1005, numer 150

  5. Wspólne filtrowanie w MySQL?