Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Ottimizzazione delle Query | Ottimizzazione Delle Query.Indici
Tecniche Avanzate in SQL

bookSfida: Ottimizzazione delle Query

Esploriamo due tabelle: BankAccounts e un'ulteriore tabella chiamata Transactions.

Tabella BankAccounts

Tabella Transactions

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ù efficiente.

Ecco un elenco delle principali tecniche di riscrittura delle query per migliorarne l'ottimizzazione:

  1. Specificare esplicitamente le colonne: invece di utilizzare il carattere jolly (*), indicare esplicitamente i nomi delle colonne nelle query per ottenere migliori prestazioni, leggibilità e manutenibilità;

  2. 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;

  3. Evitare l'uso ripetuto dell'operatore IN: limitare l'utilizzo dell'operatore IN nelle query per prevenire impatti sulle prestazioni. In alternativa, considerare l'uso delle clausole JOIN o EXISTS per piani di esecuzione più efficienti;

  4. 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;

  5. Utilizzare condizioni WHERE restrittive: migliorare le prestazioni delle query includendo condizioni restrittive nella clausola WHERE per filtrare le righe e aumentare la velocità di esecuzione;

  6. Rifattorizzare il codice in stored procedure o funzioni: incapsulare segmenti di codice ripetitivi in stored procedure o funzioni definite dall'utente per riutilizzabilità del codice, modularità e manutenzione semplificata. Queste possono ridurre la ridondanza e ottimizzare le query SQL.

Compito

Swipe to start coding

Riscrivere la query in modo più ottimale. Prestare attenzione al fatto che è necessario ottenere solo i numeri di conto che hanno effettuato almeno una transazione (trasferito denaro su un altro conto) ordinati in ordine crescente.

Nota

Utilizzare il tipo di join LEFT o INNER per completare questo compito.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 7
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you show me the unoptimized query?

What would an optimized query look like for this task?

Can you explain why the optimized query is better?

close

Awesome!

Completion rate improved to 4.35

bookSfida: Ottimizzazione delle Query

Scorri per mostrare il menu

Esploriamo due tabelle: BankAccounts e un'ulteriore tabella chiamata Transactions.

Tabella BankAccounts

Tabella Transactions

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ù efficiente.

Ecco un elenco delle principali tecniche di riscrittura delle query per migliorarne l'ottimizzazione:

  1. Specificare esplicitamente le colonne: invece di utilizzare il carattere jolly (*), indicare esplicitamente i nomi delle colonne nelle query per ottenere migliori prestazioni, leggibilità e manutenibilità;

  2. 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;

  3. Evitare l'uso ripetuto dell'operatore IN: limitare l'utilizzo dell'operatore IN nelle query per prevenire impatti sulle prestazioni. In alternativa, considerare l'uso delle clausole JOIN o EXISTS per piani di esecuzione più efficienti;

  4. 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;

  5. Utilizzare condizioni WHERE restrittive: migliorare le prestazioni delle query includendo condizioni restrittive nella clausola WHERE per filtrare le righe e aumentare la velocità di esecuzione;

  6. Rifattorizzare il codice in stored procedure o funzioni: incapsulare segmenti di codice ripetitivi in stored procedure o funzioni definite dall'utente per riutilizzabilità del codice, modularità e manutenzione semplificata. Queste possono ridurre la ridondanza e ottimizzare le query SQL.

Compito

Swipe to start coding

Riscrivere la query in modo più ottimale. Prestare attenzione al fatto che è necessario ottenere solo i numeri di conto che hanno effettuato almeno una transazione (trasferito denaro su un altro conto) ordinati in ordine crescente.

Nota

Utilizzare il tipo di join LEFT o INNER per completare questo compito.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

close

Awesome!

Completion rate improved to 4.35
Sezione 2. Capitolo 7
single

single

some-alt