Bir süre önce Brent Ozar, SQL Server ve PostgreSQL arasındaki bazı farkları detaylandıran bir yazı yayınladı:
SQL Server ve PostgreSQL Arasındaki İki Önemli Fark
İlk nokta (“CTE'ler optimizasyon çitleri”) dikkatimi çekti, çünkü sağlanan örnekte SQL Server'ın CTE ve ana sorguyu bir araya getirdiği ve tek bir sorgu olarak optimize ettiği ( PostgreSQL).
Ancak, bu davranış, SQL Server CTE'yi dizinlerin daha iyi kullanılmasına, daha iyi performansa, vb. İzin veren bir optimizasyon çiti olarak gördüğü diğer bloglarda ve eğitim sınıflarında gördüğüm örneklerin aksine görünüyor. Örneğin:
Yıldız Seçmenin Daha İyi Bir Yolu
Yani, SQL Server bir optimizasyon çiti SOMETIMES olarak CTE'yi “onurlandırıyor” gibi görünüyor. SQL Server'ın CTE'yi bir optimizasyon çiti (veya tersi davranış) olarak güvenilir bir şekilde onurlandıracağı bilinen vakaların belirli bir listesini belgeleyen iyi kaynaklar var mı?