Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Optimisation des Requêtes | Optimisation des Requêtes.Indexes
Techniques Avancées en SQL
course content

Contenu du cours

Techniques Avancées en SQL

Techniques Avancées en SQL

1. Acid
2. Optimisation des Requêtes.Indexes
3. Quelques Sujets Supplémentaires

book
Défi : Optimisation des Requêtes

Découvrons deux tables : BankAccounts et une table supplémentaire nommée Transactions.

Table BankAccounts

Table des transactions

Supposons que nous voulons récupérer uniquement les numéros de compte qui ont effectué au moins une transaction.

Dans cette tâche, nous avons une requête qui n'est pas optimisée. Votre tâche est de la réécrire de manière plus optimale.

Voici une liste des principales techniques de réécriture de requêtes pour améliorer l'optimisation :

  1. Spécifiez explicitement les colonnes : Au lieu d'utiliser le caractère générique (*), mentionnez explicitement les noms de colonnes dans les requêtes pour une meilleure performance, lisibilité et maintenabilité ;

  2. Minimisez les sous-requêtes : Réduisez l'utilisation des sous-requêtes pour optimiser les performances des requêtes. Envisagez des alternatives comme les jointures ou les tables dérivées pour éviter la complexité et la surcharge ;

  3. Évitez les opérateurs IN répétés : Limitez l'utilisation de l'opérateur IN dans les requêtes pour éviter l'impact sur les performances. Envisagez plutôt d'utiliser les clauses JOIN ou EXISTS pour des plans d'exécution plus efficaces ;

  4. Organisez les jointures logiquement : Commencez les jointures SQL avec la table principale puis joignez avec les tables associées pour optimiser l'organisation des requêtes et l'optimisation du moteur de base de données ;

  5. Utilisez des conditions WHERE restrictives : Améliorez les performances des requêtes en incluant des conditions restrictives dans la clause WHERE pour filtrer les lignes et améliorer la vitesse d'exécution ;

  6. Refactorisez le code en procédures stockées ou fonctions : Encapsulez les segments de code répétitifs dans des procédures stockées ou des fonctions définies par l'utilisateur pour la réutilisabilité du code, la modularité et une maintenance plus facile. Cela peut réduire la redondance et optimiser les requêtes SQL.

Tâche

Swipe to start coding

Veuillez réécrire la requête de manière plus optimale. Faites attention au fait que nous devons obtenir uniquement les numéros de compte qui ont effectué au moins une transaction (transféré de l'argent vers un autre compte) triés par ordre croissant.

Note

Utilisez le type de jointure LEFT ou INNER pour accomplir cette tâche.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 7
toggle bottom row

book
Défi : Optimisation des Requêtes

Découvrons deux tables : BankAccounts et une table supplémentaire nommée Transactions.

Table BankAccounts

Table des transactions

Supposons que nous voulons récupérer uniquement les numéros de compte qui ont effectué au moins une transaction.

Dans cette tâche, nous avons une requête qui n'est pas optimisée. Votre tâche est de la réécrire de manière plus optimale.

Voici une liste des principales techniques de réécriture de requêtes pour améliorer l'optimisation :

  1. Spécifiez explicitement les colonnes : Au lieu d'utiliser le caractère générique (*), mentionnez explicitement les noms de colonnes dans les requêtes pour une meilleure performance, lisibilité et maintenabilité ;

  2. Minimisez les sous-requêtes : Réduisez l'utilisation des sous-requêtes pour optimiser les performances des requêtes. Envisagez des alternatives comme les jointures ou les tables dérivées pour éviter la complexité et la surcharge ;

  3. Évitez les opérateurs IN répétés : Limitez l'utilisation de l'opérateur IN dans les requêtes pour éviter l'impact sur les performances. Envisagez plutôt d'utiliser les clauses JOIN ou EXISTS pour des plans d'exécution plus efficaces ;

  4. Organisez les jointures logiquement : Commencez les jointures SQL avec la table principale puis joignez avec les tables associées pour optimiser l'organisation des requêtes et l'optimisation du moteur de base de données ;

  5. Utilisez des conditions WHERE restrictives : Améliorez les performances des requêtes en incluant des conditions restrictives dans la clause WHERE pour filtrer les lignes et améliorer la vitesse d'exécution ;

  6. Refactorisez le code en procédures stockées ou fonctions : Encapsulez les segments de code répétitifs dans des procédures stockées ou des fonctions définies par l'utilisateur pour la réutilisabilité du code, la modularité et une maintenance plus facile. Cela peut réduire la redondance et optimiser les requêtes SQL.

Tâche

Swipe to start coding

Veuillez réécrire la requête de manière plus optimale. Faites attention au fait que nous devons obtenir uniquement les numéros de compte qui ont effectué au moins une transaction (transféré de l'argent vers un autre compte) triés par ordre croissant.

Note

Utilisez le type de jointure LEFT ou INNER pour accomplir cette tâche.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 7
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt