sql >> Databasteknik >  >> RDS >> Mysql

Maximalt antal poster i en MySQL-databastabell

Det största värdet på ett heltal har lite att göra med det maximala antalet rader du kan lagra i en tabell.

Det är sant att om du använder en int eller bigint som din primärnyckel kan du bara ha så många rader som antalet unika värden i datatypen för din primärnyckel, men du behöver inte göra din primärnyckel till ett heltal , du kan göra det till en CHAR(100). Du kan också deklarera primärnyckeln över mer än en kolumn.

Det finns andra begränsningar för tabellstorleken förutom antalet rader. Du kan till exempel använda ett operativsystem som har en filstorleksbegränsning. Eller så kan du ha en 300 GB hårddisk som bara kan lagra 300 miljoner rader om varje rad är 1 KB stor.

Gränserna för databasstorlek är riktigt höga:

http://dev.mysql.com/doc /refman/5.1/en/source-configuration-options.html

MyISAM-lagringsmotorn stöder 2 rader per tabell, men du kan bygga MySQL med --with-big-tables alternativ för att få den att stödja upp till 2 rader per tabell.

http://dev.mysql.com/doc/refman /5.1/sv/innodb-restrictions.html

InnoDB-lagringsmotorn har ett internt 6-byte rad-ID per tabell, så det finns ett maximalt antal rader lika med 2 eller 281 474 976 710 656.

Ett InnoDB-tabellutrymme har också en gräns för tabellstorlek på 64 terabyte. Hur många rader som ryms i detta beror på storleken på varje rad.

Gränsen på 64 TB antar standardsidans storlek på 16 KB. Du kan öka sidstorleken och därför öka tabellutrymmet upp till 256TB. Men jag tror att du skulle tycka att andra prestationsfaktorer gör detta olämpligt långt innan du odlar ett bord till den storleken.



  1. Hur testar man om en MySQL-fråga lyckades ändra databastabelldata?

  2. PostgreSQL på väg upp:2018 Postgres fynd och 2019 trender

  3. Vad är det bästa sättet att välja minimivärdet från flera kolumner?

  4. En rapports egenskaper