Published on

May 23, 2012

Pourquoi vous devriez éviter d’utiliser SELECT * dans SQL Server

Avez-vous déjà rencontré l’expression “SELECT *”? Si c’est le cas, vous avez peut-être également entendu dire qu’il n’est pas recommandé de l’utiliser dans vos requêtes SQL. Dans cet article, nous discuterons des nombreux inconvénients de l’utilisation de SELECT * et pourquoi il est préférable de l’éviter dans la plupart des cas.

Récupère des colonnes inutiles et augmente le trafic réseau

Lorsque vous utilisez SELECT *, vous récupérez essentiellement toutes les colonnes d’une table. Cela signifie que vous pourriez récupérer plus de données que nécessaire. Cela peut entraîner une augmentation du trafic réseau et des performances de requête plus lentes. Il est toujours préférable de spécifier explicitement les colonnes dont vous avez besoin dans votre instruction SELECT.

Conduit à l’utilisation d’un plan d’exécution sous-optimal

Un autre inconvénient de l’utilisation de SELECT * est qu’elle peut conduire à l’utilisation de plans d’exécution sous-optimaux. L’optimiseur de requêtes de SQL Server peut ne pas être en mesure de choisir le plan d’exécution le plus efficace lorsqu’il doit prendre en compte toutes les colonnes d’une table. En spécifiant les colonnes requises, vous pouvez aider l’optimiseur à générer un plan d’exécution plus efficace.

Difficile à déboguer

L’utilisation de SELECT * peut rendre vos requêtes difficiles à déboguer. Lorsque vous énumérez explicitement les colonnes dont vous avez besoin, il devient plus facile d’identifier les problèmes ou les erreurs dans votre requête. En revanche, si vous utilisez SELECT *, il peut être difficile de déterminer exactement la cause d’un problème.

Astuces rapides pour éviter SELECT *

Maintenant que nous comprenons les inconvénients de l’utilisation de SELECT *, discutons de quelques astuces rapides pour l’éviter. Ces astuces peuvent vous aider à énumérer rapidement et facilement les noms de colonnes au lieu d’utiliser SELECT * :

  1. Faites glisser le dossier des colonnes depuis SQL Server Management Studio vers l’Éditeur de requêtes
  2. Cliquez avec le bouton droit sur le nom de la table, allez dans “Script Table As”, puis sélectionnez “SELECT To…” et choisissez l’option souhaitée

En suivant ces astuces, vous pouvez rapidement et facilement énumérer les noms de colonnes dans votre requête, en vous assurant de ne récupérer que les données nécessaires.

Y a-t-il jamais une raison d’utiliser SELECT * ?

Bien qu’il puisse y avoir des occasions rares où vous devez récupérer chaque colonne d’une table, il est généralement recommandé d’éviter d’utiliser SELECT *. En spécifiant explicitement les colonnes requises, vous pouvez améliorer les performances des requêtes, réduire le trafic réseau et faciliter le débogage de vos requêtes.

Avez-vous des réflexions sur l’utilisation de SELECT * ? Si vous pensez qu’il existe des raisons valables de l’utiliser, veuillez partager vos idées dans les commentaires ci-dessous.

Pour plus d’informations sur SELECT *, vous pouvez consulter les ressources suivantes :

Nous espérons que vous avez trouvé cet article utile. Si vous avez des idées ou des suggestions pour de futurs sujets SQL, n’hésitez pas à les partager avec nous. Nous sommes toujours à la recherche de nouveaux supports pédagogiques à partager avec nos lecteurs.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.