
在 SQL 陳述式中使用完整資料表名稱 (包括資料庫名稱)。
永遠在陳述式中明確指定資料庫名稱以及每個資料表名稱 (如果是主資料庫,就使用「main」做為名稱)。例如,下列程式碼包含明確的資料庫名稱
main
:
SELECT employeeId
FROM main.employees
明確地指定資料庫名稱,可以讓執行階段不必檢查每一個連線的資料庫,就能找到相符的資料表。也可避免執行階段選錯資料庫的可能性。即使 SQLConnection 只連線到單一資料庫,也要遵循這個規則。SQLConnection 也會在幕後連線到可透過 SQL 陳述式存取的暫存資料庫。

在 SQL
INSERT
與
SELECT
陳述式中,使用明確的欄名稱。
下列範例示範使用明確欄名稱的方法:
INSERT INTO main.employees (firstName, lastName, salary)
VALUES ("Bob", "Jones", 2000)
SELECT employeeId, lastName, firstName, salary
FROM main.employees
比較上述範例與下列範例。避免此種程式碼樣式:
-- 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
若不使用明確的欄名稱,執行階段就必須執行額外工作來找出欄名稱。如果
SELECT
陳述式使用萬用字元而非明確的欄,則執行階段會擷取額外的資料。額外的資料需要額外進行處理,而且會產生不必要的額外物件實體。

避免在陳述式中多次加入相同的資料表,除非您要比較該資料表本身。
隨著 SQL 陳述式變多,您可能會不小心將資料庫資料表多次加入查詢。通常,只要使用資料表一次,即可達到相同的結果。如果您在查詢中使用一或多個檢視,就有可能會多次加入相同的資料表。例如,您可能會在將資料表加入查詢的同時,也加入包含該資料表資料的檢視。這兩項作業都會造成多次加入。
|
|
|