Verwenden Sie einen vollständig qualifizierten Tabellennamen (einschließlich Datenbankname) in Ihrer SQL-Anweisung.
Geben Sie den Datenbanknamen immer zusammen mit den einzelnen Tabellennamen in einer Anweisung an. (Verwenden Sie „main“, wenn es sich um die Hauptdatenbank handelt.) Der folgende Code schließt zum Beispiel einen expliziten Datenbanknamen
main
ein:
SELECT employeeId
FROM main.employees
Wenn Sie den Datenbanknamen angeben, muss die Laufzeitumgebung nicht in allen verbundenen Datenbanken nach der richtigen Tabelle suchen. So verhindern Sie außerdem, dass die Laufzeitumgebung die falsche Datenbank wählt. Halten Sie sich auch dann an diese Regel, wenn eine SQLConnection-Instanz nur mit einer einzelnen Datenbank verbunden ist. Die SQLConnection-Instanz ist im Hintergrund auch mit einer temporären Datenbank verbunden, auf die mit SQL-Anweisungen zugegriffen werden kann.
Verwenden Sie explizite Spaltennamen in den SQL-Anweisungen
INSERT
und
SELECT
.
Das folgende Beispiel veranschaulicht die Verwendung expliziter Spaltennamen:
INSERT INTO main.employees (firstName, lastName, salary)
VALUES ("Bob", "Jones", 2000)
SELECT employeeId, lastName, firstName, salary
FROM main.employees
Vergleichen Sie die vorstehenden Beispiele mit den folgenden. Vermeiden Sie diesen Codestil:
-- 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
Ohne die Angabe expliziter Spaltennamen muss die Laufzeitumgebung zusätzliche Arbeit leisten, um die Spaltennamen herauszufinden. Wenn eine
SELECT
-Anweisung ein Platzhalterzeichen anstelle von expliziten Spalten verwendet, ruft die Laufzeit zusätzliche Daten ab. Die zusätzlichen Daten erfordern zusätzliche Verarbeitung und erstellen zusätzliche Objektinstanzen, die nicht benötigt werden.
Vermeiden Sie, dieselbe Tabelle mehrmals in einer Anweisung zu verwenden, falls Sie die Tabelle nicht mit sich selbst vergleichen.
Wenn SQL-Anweisungen groß werden, kann es passieren, dass Sie eine Datenbanktabelle versehentlich mehrmals mit der Abfrage verbinden. Häufig lässt sich dasselbe Ergebnis erzielen, indem die Tabelle nur einmal verwendet wird. Das mehrmalige Verbinden einer Tabelle tritt wahrscheinlich dann auf, wenn Sie eine oder mehrere Ansichten in einer Abfrage verwenden. Dies ist beispielsweise der Fall, wenn Sie nicht nur eine Tabelle mit der Abfrage verbinden, sondern auch eine Ansicht, die Daten aus dieser Tabelle enthält. Durch diese beiden Vorgänge entsteht mehr als eine Verbindung.
|
|
|