Traitement superflu de la base de données à l’exécution

Utilisez un nom de table complet (comprenant le nom de la base de données) dans l’instruction SQL.

Spécifiez systématiquement le nom de la base de données conjointement avec chaque nom de table dans une instruction. (Utilisez « main » s’il s’agit de la base de données principale.) Le code suivant inclut le nom de base de données explicite main :

SELECT employeeId 
FROM main.employees

Le fait de spécifier de façon explicite le nom de la base de données évite au moteur d’exécution d’avoir à rechercher la table correspondante dans chaque base de données connectée. Cela lui évite également toute possibilité de se tromper de base de données. Respectez cette règle même lorsque l’occurrence de SQLConnection n’est connectée qu’à une seule base de données. En effet, en arrière-plan, l’occurrence de SQLConnection est également connectée à une base de données temporaire accessible par l’intermédiaire d’instructions SQL.

Utilisez des noms de colonne explicites dans les instructions SQL INSERT et SELECT .

Les exemples suivants illustrent l’utilisation de noms de colonne explicites :

INSERT INTO main.employees (firstName, lastName, salary) 
VALUES ("Bob", "Jones", 2000) 
     
SELECT employeeId, lastName, firstName, salary 
FROM main.employees

Comparez les exemples précédents aux suivants. Evitez ce style de code :

-- bad because column names aren't specified 
INSERT INTO main.employees 
VALUES ("Bob", "Jones", 2000) 
     
-- bad because it uses a wildcard 
SELECT * 
FROM main.employees

S’ils ne sont pas explicites, il est plus difficile pour le moteur d’exécution d’identifier les noms de colonne. Si une instruction SELECT utilise un caractère générique au lieu de colonnes explicites, le moteur d’exécution récupère plus de données. Ces données doivent être traitées et engendrent des occurrences d’objet inutiles.

Evitez de joindre une même table plusieurs fois dans une même instruction, à moins que vous ne la compariez à elle-même.

Au fur et à mesure que les instructions SQL croissent, il peut vous arriver, par mégarde, de joindre plusieurs fois une table de base de données à la requête. Vous pourriez souvent obtenir le même résultant en utilisant la table à une seule reprise. Vous êtes susceptible de joindre une même table plusieurs fois si vous utilisez une ou plusieurs vues dans une requête. Vous pourriez, par exemple, joindre une table à une requête, ainsi qu’une vue contenant les données de la table. Ces deux opérations donneraient lieu à plusieurs jointures.