Mysql
 sql >> Database >  >> RDS >> Mysql

Numero massimo di record in una tabella di database MySQL

Il valore massimo di un numero intero ha poco a che fare con il numero massimo di righe che puoi memorizzare in una tabella.

È vero che se usi un int o bigint come chiave primaria, puoi avere solo tante righe quanti sono i valori univoci nel tipo di dati della tua chiave primaria, ma non devi rendere la tua chiave primaria un intero , potresti renderlo un CHAR(100). Puoi anche dichiarare la chiave primaria su più di una colonna.

Esistono altri vincoli sulla dimensione della tabella oltre al numero di righe. Ad esempio, potresti utilizzare un sistema operativo che ha una limitazione delle dimensioni dei file. Oppure potresti avere un disco rigido da 300 GB in grado di archiviare solo 300 milioni di righe se ogni riga ha una dimensione di 1 KB.

I limiti delle dimensioni del database sono davvero elevati:

http://dev.mysql.com/doc /refman/5.1/en/opzioni-configurazione-sorgente.html

Il motore di archiviazione MyISAM supporta 2 righe per tabella, ma puoi creare MySQL con --with-big-tables opzione per supportare fino a 2 righe per tabella.

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

Il motore di archiviazione InnoDB ha un ID riga interno di 6 byte per tabella, quindi esiste un numero massimo di righe pari a 2 o 281.474.976.710.656.

Un tablespace InnoDB ha anche un limite alla dimensione della tabella di 64 terabyte. Quante righe si adattano a questo dipende dalle dimensioni di ciascuna riga.

Il limite di 64 TB presuppone la dimensione della pagina predefinita di 16 KB. Puoi aumentare le dimensioni della pagina e quindi aumentare lo spazio della tabella fino a 256 TB. Ma penso che scopriresti che altri fattori di rendimento lo rendono sconsigliabile molto prima di far crescere un tavolo a quelle dimensioni.