SQL ifadenizde tam bir tablo adı (veritabanı adını da dahil ederek) kullanın.
Her zaman her tablo adının yanı sıra bir ifadedeki veritabanı adını da açıkça belirtin. (Ana veritabanıysa “ana” sözcüğünü kullanın.) Örneğin, aşağıdaki kod
main
olarak belirtilmiş açık bir veritabanı adı içerir:
SELECT employeeId
FROM main.employees
Veritabanı adının açıkça belirtilmesi, çalışma zamanının eşleşen tabloyu bulmak için bağlı olan her veritabanını kontrol etmesini önler. Ayrıca çalışma zamanının yanlış veritabanını seçme olasılığını da engeller. Bir SQLConnection yalnızca tek bir veritabanına bağlandığında bile bu kuralı izleyin. SQLConnection arka planda, SQL ifadeleri aracılığıyla erişilebilen geçici bir veritabanına daha bağlıdır.
SQL
INSERT
ve
SELECT
ifadelerinde açık sütun adları kullanın.
Aşağıdaki örnekler açık sütun adlarının kullanımını gösterir:
INSERT INTO main.employees (firstName, lastName, salary)
VALUES ("Bob", "Jones", 2000)
SELECT employeeId, lastName, firstName, salary
FROM main.employees
Önceki örnekleri aşağıdakilerle karşılaştırın. Bu kod stilinden kaçının:
-- 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ütun adlarının açıkça belirtilmemesi durumunda, çalışma zamanının sütun adlarını çözmek için ek iş yapması gerekir. Bir
SELECT
ifadesi açık sütunlar yerine joker kullanıyorsa, çalışma zamanının ekstra veri almasına neden olur. Bu ek veriler ek işleme gerektirir ve gerekmeyen ek nesne örnekleri oluşturur.
Bir ifadede tabloyu kendisiyle karşılaştırmadığınız sürece aynı tabloyu birden fazla defa birleştirmekten kaçının.
SQL ifadeleri büyüdükçe, farkında olmadan bir veritabanı tablosunu sorguya birden çok defa katabilirsiniz. Genellikle, aynı sonuç tabloyu yalnızca bir kere kullanarak da elde edilebilir. Bir sorguda bir veya daha fazla görünüm kullanıyorsanız, aynı tabloya bir kereden fazla katmanız mümkündür. Örneğin, sorguya bir tablo ve aynı zamanda o tablodan veri içeren bir görünüm katıyor olabilirsiniz. İki işlem bir katılma işleminden fazlasına neden olabilir.
|
|
|