Ricerca nel sito web

MySQL 9.1: nuove funzionalità, deprecazioni e aggiornamenti importanti


MySQL 9.1 introduce aggiornamenti chiave, tra cui una migliore gestione dei trigger, output EXPLAIN ottimizzato, supporto OpenID Connect e altro ancora.

MySQL 9.1, un RDBMS open source ampiamente adottato, è qui, apportando miglioramenti, nuove funzionalità e alcune deprecazioni. Tra le novità più sorprendenti c'è il modo in cui vengono gestiti i trigger, in particolare durante le operazioni di sola lettura.

Nelle versioni precedenti, i trigger associati a una tabella venivano caricati completamente e analizzati ogni volta che si accedeva alla tabella, anche per istruzioni di sola lettura come SELECT. Ciò non solo ha comportato uno spreco di memoria, ma ha anche aumentato inutilmente il tempo di esecuzione.

Ora, in MySQL 9.1, i trigger vengono gestiti in due fasi distinte. Inizialmente, vengono letti solo i metadati del trigger e l'analisi viene rinviata fino a quando non è effettivamente necessaria (ad esempio, quando si modificano i dati). Ciò riduce significativamente il consumo di risorse per le query di sola lettura e migliora le prestazioni generali.

Oltre a ciò, sono state introdotte nuove variabili di stato del server come Table_open_cache_triggers_hits e Table_open_cache_triggers_misses per monitorare l'utilizzo della cache, migliorando ulteriormente le capacità di monitoraggio.

Anche il comando EXPLAIN, utilizzato per comprendere i piani di esecuzione delle query, ha ricevuto diversi aggiornamenti. L'output ora include informazioni più dettagliate relative alle letture multiintervallo, alle strategie di semijoin e alla formattazione coerente delle stringhe di condizione. Ciò aiuta gli sviluppatori a ottenere maggiori informazioni sulle prestazioni delle query e a ottimizzare i propri database in modo efficace.

Un'altra aggiunta degna di nota è il supporto per la clausola IF NOT EXISTS nell'istruzione CREATE VIEW. Ciò consente agli utenti di provare a creare una vista senza preoccuparsi se esiste già: in caso affermativo, non verrà apportata alcuna modifica e verrà emesso un avviso invece di un errore.

MySQL 9.1 introduce anche le istruzioni CREATE DATABASE e DROP DATABASE a prova di crash. Ciò significa che finché le tabelle utilizzano un motore di archiviazione che supporta operazioni DDL atomiche, come InnoDB, la creazione e l'eliminazione del database sono ora completamente transazionali.

Qual è il vantaggio di questo? In breve, aiuta a evitare incoerenze in caso di arresti imprevisti del server o errori durante la creazione o l'eliminazione del database.

Per quanto riguarda la flessibilità, MySQL 9.1 ora supporta i tipi di dati VECTOR nei programmi memorizzati in JavaScript. Ciò significa che i valori VECTOR possono essere utilizzati come argomenti di input e output nelle procedure memorizzate, il che è particolarmente vantaggioso per le applicazioni che utilizzano operazioni vettoriali avanzate.

Per gli utenti di MySQL Enterprise, l'introduzione di nuove metriche dell'applicatore di replica migliora notevolmente l'osservabilità dei processi di replica. Gli amministratori possono ora monitorare l'avanzamento della replica in modo più efficace e raccogliere statistiche utili, semplificando la risoluzione dei problemi e il mantenimento di un ambiente di replica stabile.

Inoltre, MySQL 9.1 ora supporta OpenID Connect per migliorare la flessibilità di autenticazione e consentire l'integrazione con i moderni sistemi Single Sign-On. Questa funzionalità è disponibile in MySQL Enterprise Edition, rendendo la gestione degli utenti più fluida, in particolare in ambienti su larga scala.

Inoltre, il nuovo componente Option Tracker aiuta a monitorare le opzioni del server MySQL, comprese quelle relative ai plugin e ai componenti installati. Questo componente è disponibile anche come parte di MySQL Enterprise Edition e fornisce una visione chiara di tutte le opzioni abilitate sul server.

Infine, sebbene MySQL 9.1 abbia introdotto molte funzionalità utili, segna anche la deprecazione di alcuni elementi. Alcune funzionalità sono deprecate, il che significa che verranno rimosse nelle versioni future. Gli sviluppatori dovrebbero iniziare ad aggiornare le proprie applicazioni per evitare di fare affidamento su queste funzionalità deprecate.

Inoltre, alcune funzionalità sono già state rimosse in MySQL 9.1, il che potrebbe influenzare le applicazioni meno recenti. Pertanto, gli amministratori del database dovrebbero rivedere il loro utilizzo delle funzionalità di MySQL 9.0 e adeguarsi di conseguenza per garantire la compatibilità prima di passare alla versione 9.1.

Per dettagli più approfonditi, consulta le note di rilascio o guarda qui per esaminare tutte le novità apportate da questo rilascio.

Articoli correlati: