SQL'in bildirimsel bir dil olduğunu bilmek önemlidir. SELECT
Sorgu belirtir döndürülmesi gereken mantıksal sonuçlarını yazdı. Bu sonuçları döndürmek için etkili bir fiziksel strateji belirlemek veritabanı motoruna, özellikle sorgu iyileştiriciye bağlıdır.
Nihai fiziksel uygulama planı, optimize edicinin muhakeme yeteneklerine, soruna harcamak için hazırlandığı süreye, uygun erişim yöntemlerinin (öncelikle dizinler ve materyalize görünümler) kullanılabilirliğine, temsili istatistik bilgilerine ve belirli kod yoluna bağlı olacaktır. sorgu belirtimi, optimizasyon kodunu kullanır.
Genel olarak, veritabanı tasarımınız ilişkisel ise, iyi erişim yöntemleri ve doğru istatistiksel bilgiler sağlarsınız ve sorgu iyi yazılırsa, optimize edici normalde yazılı form hakkında çok fazla endişelenmenize gerek kalmadan makul bir fiziksel yürütme stratejisi bulur. sorgu belirtimi çok fazla.
Her zaman farklı (ama anlamsal olarak özdeş) sözdizimi kullanarak aynı mantık gereksinimini ifade etmenin fiziksel yürütme planını etkileyeceği durumlar olacaktır, ancak bu ikincil bir endişe olmalıdır. Yine, genel olarak, sorguyu yalnızca çalışma zamanı özellikleri kabul edilemezse, yukarıda belirtilen tüm temel hususlar ele alındığında farklı ifade etmeyi düşünün.
Basit konjonktür WHERE
fıkralarının (söz konusu gibi) yazılı düzeninin fiziksel yürütme planını ölçülebilir herhangi bir şekilde etkilemesi aşırı derecede nadirdir . Kısacası, bu endişelenmek için zaman harcamanız gereken bir şey değildir. Önce veritabanı tasarımı, dizinler ve istatistiksel bilgileri edinin.
(! Nihayetinde) ekstra gereksiz koşulunu ekleyerek doğrudan soruya cevap vermek için olabilir performansını artırmakla kalmaz, daha etkin bir erişim yöntemi kullanımını sağlayan yalnızca - örneğin (saklayıcısında, VarcharField) sadece bir dizin varsa. (VarcharField) üzerinde zaten bir dizin olsaydı, sadece ek yükü eklerdi.
Bir uygulama detayı olarak, hayır, SQL Server veri türüne veya görünür hesaplama karmaşıklığına bağlı olarak karşılaştırma maliyetini dikkate almaz. Aslında, skaler operasyonların değerli küçük bir maliyeti vardır , ancak bu tamamen ayrı bir konuya yol açar.
İlgili sorular:
Mantıksal işleçler VEYA WHERE
SQL Server 2008'deki koşulların ve koşulların ve sabit ifadelerin ve sabit ifadelerin
Performansı etkileyen bitsel operatörler
Garip SQL İfadesi Davranışı