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