Niepotrzebne przetwarzanie bazy danych w czasie wykonywania programu

W instrukcjach SQL należy zawsze stosować pełną nazwę tabeli (łącznie z nazwą bazy danych).

W instrukcji należy zawsze określić jawnie nazwę bazy danych oraz nazwy poszczególnych tabel. (W przypadku głównej bazy danych należy stosować słowo „main”). Przykład: poniższy kod zawiera jawną nazwę bazy danych main :

SELECT employeeId 
FROM main.employees

Jawne określanie nazw baz danych powoduje, że środowisko wykonawcze nie musi sprawdzać każdej podłączonej bazy danych w celu odnalezienia określonej tabeli. Uniemożliwia również wybór błędnej bazy danych w środowisku wykonawczym. Należy przestrzegać tej reguły, nawet jeśli klasa SQLConnection jest połączona tylko z jedną bazą danych. W tle klasa SQLConnection jest również połączona z tymczasową bazą danych, która jest dostępna za pośrednictwem instrukcji SQL.

W instrukcjach SQL INSERT i SELECT należy stosować jawne nazwy kolumn.

Poniższe przykłady prezentują stosowanie jawnych nazw kolumn:

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

Należy porównać poprzednie przykłady z kolejnymi. Należy unikać takiego stylu kodowania:

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

W przypadku braku jawnych nazw kolumn środowisko wykonawcze musi wykonywać dodatkowe operacje w celu określenia nazw kolumn. Jeśli instrukcja SELECT używa symbolu wieloznacznego zamiast jawnych kolumn, środowisko wykonawcze pobierze wówczas dodatkowe dane. Te dodatkowe dane wymagają przetworzenia i tworzą dodatkowe instancje obiektów, które nie są potrzebne.

Należy unikać łączenia tej samej tabeli wiele razy w instrukcji, chyba że konieczne jest porównanie tabeli z nią samą.

Ponieważ instrukcje SQL są coraz dłuższe, wielokrotne złączenie tabeli bazy danych w zapytaniu może nastąpić nieumyślnie. Często ten sam wynik można uzyskać, używając tabeli tylko raz. Wielokrotne złączenie tej samej tabeli może powstać, jeśli w zapytaniu jest używany co najmniej jeden widok. Na przykład można złączyć tabelę z zapytaniem oraz użyć widoku, który zawiera dane z tabeli. Obie operacje spowodują co najmniej jedno złączenie.