MySQL 8.0 integra un Data Dictionary concepito come un set di tabelle SQL archiviate in InnoDB, questo lavoro ha necessitato una nuova implementazione dell'Information Schema sotto forma di views nelle stesse tabelle del Data Dictionary. Sono stati poi definiti dei ruoli SQL standard rappresentati da delle collezioni di privilegi per l'assegnazione, la creazione, la rimozione di ruoli validi nel contesto di una sessione.

Adesione allo standard Unicode 9.0.0 a parte, prosegue il lavoro sui set dei caratteri finalizzato a migliorare il supporto per UTF8 e a completare il passaggio da latin1 a utf8mb4 per quanto riguarda il character set predefinito e da latin1_swedish_ci a utf8mb4_800_ci_ai relativamente alla collation di default. Da segnalare anche la disponibilità degli indici invisibili, mantenuti in background ma non considerati in fase di ottimizzazione durante l'esecuzione delle query; potranno essere resi nuovamente visibili in qualsiasi momento, ma rappresentano un'opportunità per valutare quali indici possono essere dismessi e quali no.

Precedentemente alla versione 8 le operazioni bit-wise erano possibili solo per gli integer, ora il supporto è stato esteso ai binari ([VAR]BINARY/[TINY|MEDIUM|LONG]BLOB). SET PERSIST è disponibile anche per i valori delle variabili globali, grazie alla persistenza di variabili server globali e dinamiche le configurazioni effettuate potranno essere utilizzate anche in seguito ad un riavvio.

Interessanti anche gli interventi effettuati a carico del Performance Schema, con la possibilità di sfruttare 5 diverse tabelle per la visualizzazione degli errori e l'introduzione di 100 nuovi indici, l'ulteriore implementazione del parser SQL e quella degli istogrammi per la creazioni di statistiche sulla distribuzione dei dati con cui ottimizzare la pianificazione delle query. Rinnovata l'infrastruttura dei plugin, quella precedente continuerà comunque a funzionare, ed è stato introdotto il supporto per le range query nell'InnoDB Memcached.

Meritano una citazione anche un nuovo sistema per la gestione delle tabelle temporanee, la possibilità di ripristinare backup in un server pre-esistente senza perdita di informazioni GTID (Global Transaction ID) o binary logs e l'implementazione di un'API e di una storage location per la serializzazione dei Dictionary data.

Via MySQL Server Blog

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *