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

Come scoprire la dimensione degli indici in mysql (comprese le chiavi primarie)

La tua chiave primaria è la tua tabella. In un InnoDB la chiave primaria contiene i dati effettivi quindi se la chiave primaria contiene i dati è la tabella.

Pensaci un momento. Ottieni due diversi tipi di indici su una tabella InnoDB in cluster e indici secondari. La differenza è che un indice cluster contiene i dati e un indice secondario contiene le colonne indicizzate e un puntatore ai dati. Pertanto un indice secondario non contiene i dati ma piuttosto la posizione in cui si trovano i dati nell'indice CLUSTERED.

Normalmente una chiave primaria è un indice cluster. Sarebbe altamente inefficiente archiviare sia la tabella con tutti i suoi valori che un indice cluster con tutti i suoi valori. Ciò raddoppierebbe effettivamente le dimensioni del tavolo.

Quindi, quando hai una chiave primaria che si trova su un InnoDB, la dimensione della tabella è la dimensione della chiave primaria. In alcuni sistemi di database è possibile avere un indice secondario come chiave primaria e un indice separato come chiave cluster, tuttavia InnoDB non lo consente.

Vai a leggere i seguenti link per maggiori dettagli:

http://dev.mysql.com /doc/refman/5.0/en/innodb-table-and-index.html

http://dev.mysql.com/doc /refman/5.0/en/innodb-index-types.html

In questi collegamenti spiegano tutto ciò che ho detto sopra in modo più dettagliato. In poche parole hai già la dimensione dell'indice della chiave primaria poiché è la dimensione della tua tabella.

Spero di esserti stato d'aiuto.