Esercizio: Confrontare le opzioni del motore di archiviazione
In questi esercizi del lab verranno confrontati due motori di archiviazione MySQL diversi:
- InnoDB
- Memoria
Importante
Per completare l'esercizio è necessario avere una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare una versione di prova gratuita di Azure.
Per completare questi esercizi, è necessario:
- Creazione di un gruppo di risorse (vedere Modulo 1, Unità 5).
- Creazione di un server flessibile di Database di Azure per MySQL (vedere Modulo 1, Unità 5).
- Download e installazione di MySQL Workbench (vedere Modulo 2, Unità 5).
- Aver scaricato gli script per questo esercizio da GitHub.
Suggerimento
Se il server di Database di Azure per MySQL è stato arrestato dopo aver completato l'ultimo lab, riavviarlo ora.
Creazione di un database
- Apri MySQL Workbench e connettiti al tuo Database di Azure per MySQL Server flessibile.
- Selezionare File, Open SQL Script (Apri SQL Script) e passare allo script EngineLab1.sql. Selezionare Apri.
- Evidenziare ed eseguire la prima sezione Supported engines (Motori supportati). Verranno visualizzati i motori di archiviazione supportati dal server e informazioni sulle transazioni supportate dal motore di archiviazione.
- Evidenziare ed eseguire la sezione Create database (Creare il database). Verrà creato un nuovo database utente, che verrà selezionato come database corrente.
Analizzare le transazioni e il motore di archiviazione InnoDB
- Evidenziare ed eseguire la sezione Create an InnoDB table (Creare una tabella InnoDB). Verrà creata una nuova tabella denominata Cat.
- Evidenziare ed eseguire la sezione Inserire tre righe. Verranno inserite tre righe nella tabella Cat e verranno restituite le tre righe.
- Evidenziare ed eseguire la sezione Insert a row within a transaction (Inserire una riga all'interno di una transazione). È stato eseguito il commit della transazione, pertanto le righe dovrebbero essere quattro.
- Evidenziare ed eseguire la sezione Insert a row and rollback the transaction (Inserire una riga ed eseguire il rollback della transazione). Le righe dovrebbero essere quattro perché è stato eseguito il rollback della transazione.
Analizzare le transazioni e il motore di archiviazione della memoria
- Evidenziare ed eseguire la sezione Create a Memory table (Creare una tabella Memory). Verrà creata una nuova tabella denominata CatM.
- Evidenziare ed eseguire la sezione Inserire e visualizzare tre righe. Verranno inserite tre righe nella tabella Cat e verranno restituite le tre righe.
- Evidenziare ed eseguire la sezione Insert a row within a transaction (Inserire una riga all'interno di una transazione). È stato eseguito il commit della transazione, pertanto le righe dovrebbero essere quattro. Il funzionamento sembra corretto, tuttavia il motore di archiviazione Memory non supporta le transazioni, quindi ignora la presenza di una transazione.
- Evidenziare ed eseguire la sezione Insert a row and rollback the transaction (Inserire una riga ed eseguire il rollback della transazione). Le righe dovrebbero essere quattro perché è stato eseguito il rollback della transazione. Si noti l'avviso nella finestra di output per ROLLBACK. Ora sono presenti cinque righe. Il motore di archiviazione Memory non supporta le transazioni e ROLLBACK non ha avuto alcun effetto.
Comprendere il motore di archiviazione della memoria
Creazione di un database
- Apri MySQL Workbench e connettiti al tuo Database di Azure per MySQL Server flessibile.
- Selezionare File, Open SQL Script (Apri SQL Script) e passare allo script EnginesLab2.sql.
- Evidenziare ed eseguire la sezione Create database (Creare il database). Verrà creato un nuovo database utente, che verrà selezionato come database corrente.
Comprendere il motore di archiviazione della memoria
- Evidenziare ed eseguire la sezione Create a table using Memory storage engine (Creare una tabella usando il motore di archiviazione Memory).
- Evidenziare ed eseguire la sezione Popolare la tabella. La query restituisce tre righe nel set di risultati.
- Usare il portale di Azure per riavviare il server flessibile di Azure Database per MySQL.
- Evidenziare ed eseguire la sezione The table is empty (La tabella è vuota). Si noti che la tabella non contiene righe, ma l'oggetto tabella esiste ancora.
- Evidenziare ed eseguire la sezione Ripopolare la tabella. La query restituisce tre righe nel set di risultati.
- Chiudere MySQL Workbench e nel portale di Azure ARRESTARE il server di Database di Azure per MySQL.