BLACKHOLE

Lo Storage Engine BLACKHOLE accetta i dati ma non li registra e restituisce sempre un insieme di risultati vuoto.

Se il Log Binario è abilitato, tutte le istruzioni SQL verranno registrate come al solito, e replicate agli slave. Tuttavia, siccome le righe non vengono immagazzinate, è importante utilizzare il formato statement-based piuttosto che row-based o mixed, perché le istruzioni UPDATE e DELETE non sarebbero né registrate né replicate. Si veda I formati del Log Binario.

Le tabelle BLACKHOLE consistono di un solo file .frm con il formato della tabella, senza alcun file dei dati o degli indici.

Questo Storage Engine può essere utile, ad esempio, se si desidera avere delle regole di filtraggio complesse su uno slave senza incorrere in un ritardo nel master. Il master può utilizzare BLACKHOLE replicando i dati agli slave.

L'istruzione INSERT rimane valida, anche se non registra alcun dato, e attiva i trigger. I trigger UPDATE e DELETE invece non sono attivati, e la clausola FOR EACH ROW non si applica.

BLACKHOLE e AUTO_INCREMENT

Siccome le tabelle BLACKHOLE non registrano i dati, non mantengono i valori AUTO_INCREMENT. Se si replica verso una tabella che gestisce AUTO_INCREMENT, e non si imposta esplicitamente nella INSERT il valore autoincrementale, né si utilizza l'istruzione SET INSERT_ID, gli inserimenti nello slave falliscono per via dei valori duplicati.

Commenti

Sto caricando i commenti......
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.