CHECKSUM TABLE
Sintassi
CHECKSUM TABLE nome_tabella [, nome_tabella] ... [ QUICK | EXTENDED ]
Spiegazione
CHECKSUM TABLE
restituisce il checksum di una tabella. Questo è molto utile se si desidera verificare che due tabelle siano identiche (per esempio un master e uno slave).
Con QUICK
, viene restituito il checksum in tempo reale se disponibile, altrimenti NULL
. E' molto veloce. Il checksum in tempo reale si abilita specificando l'opzione CHECKSUM=1
quando si crea la tabella; attualmente è supportato solo da Aria e MyISAM.
Con EXTENDED
, viene letta l'intera tabella riga dopo riga e viene calcolato il checksum. Questa operazione può risultare molto lenta per le tabelle di grandi dimensioni.
Se non viene specificato QUICK
né EXTENDED
, MariaDB restituisce il checksum in tempo reale se lo Storage Engine lo supporta, altrimenti la tabella viene scansita.
Per le tabelle inesistenti, CHECKSUM TABLE
restituisce
NULL
e genera un warning.
Differenze tra MariaDB e MySQL
CHECKSUM TABLE
può restituire risultati differenti se MariaDB non ignora i NULL
nelle colonne come fa MySQL 5.1 (le versioni future di MySQL dovrebbero calcolare i checksum allo stesso modo di MariaDB). E' possibile ottenere il checksum 'vecchio stile' in MariaDB avviando mysqld con l'opzione
--old
. Si noti però che gli Storage Engine MyISAM e Aria in MariaDB internamente utilizzano il nuovo checksum, perciò se si specifica --old
, il comando CHECKSUM
sarà più lento, in quanto dovrà effettuare una scansione riga per riga.