Sfida: Ottimizzazione delle Query
Supponiamo di voler recuperare solo i numeri di conto che hanno effettuato almeno una transazione.
In questo esercizio, abbiamo una query che non è ottimizzata. Il tuo compito è riscriverla in modo più ottimale.
Ecco un elenco delle principali tecniche di riscrittura delle query per migliorare l'ottimizzazione:
-
Specificare esplicitamente le colonne: invece di utilizzare il carattere jolly asterisco (
*), indicare esplicitamente i nomi delle colonne nelle query per ottenere migliori prestazioni, leggibilità e manutenibilità; -
Minimizzare le sottoquery: ridurre l'uso delle sottoquery per ottimizzare le prestazioni delle query. Considerare alternative come join o tabelle derivate per evitare complessità e sovraccarico;
-
Evitare l'uso ripetuto dell'operatore IN: limitare l'utilizzo dell'operatore
INnelle query per prevenire impatti sulle prestazioni. In alternativa, considerare l'uso delle clausoleJOINoEXISTSper piani di esecuzione più efficienti; -
Organizzare i join in modo logico: iniziare i join SQL dalla tabella principale e poi unire le tabelle correlate per ottimizzare l'organizzazione della query e l'ottimizzazione da parte del motore di database;
-
Utilizzare condizioni WHERE restrittive: migliorare le prestazioni delle query includendo condizioni restrittive nella clausola
WHEREper filtrare le righe e aumentare la velocità di esecuzione; -
Rifattorizzare il codice in stored procedure o funzioni: incapsulare segmenti di codice ripetitivi in stored procedure o funzioni definite dall'utente per la riusabilità del codice, la modularità e una manutenzione più semplice. Queste possono ridurre la ridondanza e ottimizzare le query SQL.
Swipe to start coding
Il tuo compito è scrivere una query che restituisca un elenco di tutti i numeri di conto che hanno effettuato almeno una transazione (trasferito denaro su un altro conto). I risultati devono essere ordinati in ordine crescente per numero di conto.
Per rendere la tua query più efficiente e leggibile, segui questi passaggi:
- Seleziona solo la colonna
account_number; - Utilizza un
INNER JOINtra le tabelleBankAccountseTransactions; - Non utilizzare l'operatore
INné sottoquery; - Ordina il risultato per
account_numberin ordine crescente.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Fantastico!
Completion tasso migliorato a 4.55
Sfida: Ottimizzazione delle Query
Scorri per mostrare il menu
Supponiamo di voler recuperare solo i numeri di conto che hanno effettuato almeno una transazione.
In questo esercizio, abbiamo una query che non è ottimizzata. Il tuo compito è riscriverla in modo più ottimale.
Ecco un elenco delle principali tecniche di riscrittura delle query per migliorare l'ottimizzazione:
-
Specificare esplicitamente le colonne: invece di utilizzare il carattere jolly asterisco (
*), indicare esplicitamente i nomi delle colonne nelle query per ottenere migliori prestazioni, leggibilità e manutenibilità; -
Minimizzare le sottoquery: ridurre l'uso delle sottoquery per ottimizzare le prestazioni delle query. Considerare alternative come join o tabelle derivate per evitare complessità e sovraccarico;
-
Evitare l'uso ripetuto dell'operatore IN: limitare l'utilizzo dell'operatore
INnelle query per prevenire impatti sulle prestazioni. In alternativa, considerare l'uso delle clausoleJOINoEXISTSper piani di esecuzione più efficienti; -
Organizzare i join in modo logico: iniziare i join SQL dalla tabella principale e poi unire le tabelle correlate per ottimizzare l'organizzazione della query e l'ottimizzazione da parte del motore di database;
-
Utilizzare condizioni WHERE restrittive: migliorare le prestazioni delle query includendo condizioni restrittive nella clausola
WHEREper filtrare le righe e aumentare la velocità di esecuzione; -
Rifattorizzare il codice in stored procedure o funzioni: incapsulare segmenti di codice ripetitivi in stored procedure o funzioni definite dall'utente per la riusabilità del codice, la modularità e una manutenzione più semplice. Queste possono ridurre la ridondanza e ottimizzare le query SQL.
Swipe to start coding
Il tuo compito è scrivere una query che restituisca un elenco di tutti i numeri di conto che hanno effettuato almeno una transazione (trasferito denaro su un altro conto). I risultati devono essere ordinati in ordine crescente per numero di conto.
Per rendere la tua query più efficiente e leggibile, segui questi passaggi:
- Seleziona solo la colonna
account_number; - Utilizza un
INNER JOINtra le tabelleBankAccountseTransactions; - Non utilizzare l'operatore
INné sottoquery; - Ordina il risultato per
account_numberin ordine crescente.
Soluzione
Grazie per i tuoi commenti!
single