Bu makalede genelde ilişkisel veritabanı [Relational Database] sistemlerinin özelde SQL Server’in temel konularından biri olan JOIN seçeneklerini özetleyeceğiz. SQL Server ne tür JOIN seçenekleri sunuyor, bu seçeneklerin birbirinden farkı nedir, olay sadece syntax farklılığı mıdır, performans cephesinden neler oluyor . . . bu soruları yanıtlayacağız. Table veya view gibi kaynakları… Continue Reading SQL Server JOIN türleri kullanılır, INNER JOIN, OUTER JOIN (LEFT JOIN, RIGHT JOIN, CROSS JOIN) nedir?

Önceki yazıda SQL Server’in desteklediği mantıksal tablo birleştirme işleminden (Table Join) bahsetmiştik. Bu yazıda da biraz işin mutafağına geçerek birleştirme işlemin hangi fiziksel yöntemlerle yapıldığını özetlemeye çalışacağız. Diğer veritabanları gibi SQL Server’da bulunan query optimizer bir sorguyu etkin bir şekilde çalıştırmak için bir planlama sunar. Bu planlamanın en önemli parçası… Continue Reading SQL Server JOIN Türleri – II (LOOP, HASH, MERGE JOIN)

SQL Server eski sürümlerinden beri GROUP BY ile veri özetlemesini destekler ayrıca ara ve alt toplamlar için WITH ROLLUP ve WITH CUBE yantümcelerini sunar. SQL Server 2008, konuyla ilgili GROUPING SETS isimli yeni bir operatör sunmaktadır. Bu makalede bu konudaki değişiklikleri örneklendireceğiz. GROUP BY, WITH ROLLUP ve WITH CUBE yantümceleriyle… Continue Reading SQL Server 2008 GROUP BY GROUPING SETS GROUPING_ID ROLLUP CUBE

T-SQL’de temel olarak veri arama, bulma ve işleme işlemleri gerçekleştirilir. En çok kullanılan yantümce hiç şüphesiz “SELECT” deyimidir. Peki SELECT ve onunla birlikte kullandığımız ifadeler hangi sırayla yürütülmektedir. SQLHacks’de denk geldiğim bu küçük bilgiyi paylaşmakta fayda görüyorum. Bir SELECT cümlesi yüzeysel olarak aşağıdaki formata sahiptir. SELECT DISTINCT TOP (list) FROM… Continue Reading SQL Deyimlerinin Yürütülme Sırası

SQL Server’da uygulamamız için kritik olan tablodaki bazı veya tüm alanların değişip değişmediğini öğrenmemiz gerektiğinde bunun için ya log, history gibi arşiv tabloları oluşturulur veya o satır değiştiği zaman o satır için tanımlı versiyon numarasını değiştiririz. Tarihçe tablolarını oluşturmamız hem değişiklik olup olmadığını hem de verilerin eski ve yeni değerlerini… Continue Reading Tablodaki Satır Değişmiş mi ? (CHECKSUM ve timestamp)

SQL Server 2005 ile birlikte DAC (Dedicated Administrator Connection), SQL Server’in yoğunluktan, kilitlenmenin oluşmasından hiçbir bağlantıya yanıt vermediği bir anda sistem yöneticisinin sisteme giriş yapabilmesini sağlayan önemli bir özelliktir. Bu tür durumlarda SQL Server’i restart etmek sorun yaratabileceği için sisteme bağlanıp olup biteni görmekte fayda var. Bunun için öncelikle sunucunu… Continue Reading SQL Server Dedicated Administrator Connection (DAC)

Üzerinde çalıştığım veri ambarı projesi için gerekmişti. SQL üzerinden makinein sahip olduğu işlemci ve bellek bilgisini almak istedim. Bunun için aşağıdaki script kullanılabilir. 1 2 3 4 5 6 7 8 9 10 11 12 — CPU bilgisini Registry’den alacağız EXEC xp_instance_regread ‘HKEY_LOCAL_MACHINE’, ‘HARDWARE\DESCRIPTION\System\CentralProcessor\0’, ‘ProcessorNameString’; — CPU ve Memory bilgisi… Continue Reading SQL Server CPU ve Memory Bilgisi

Veri tabanı yönetim tarafındaki en büyük kabusumuz disk, işlemci ve bellek kaynaklarının yüksek ölçüde kullanılıyor olmasıdır. Bu yazıda SQL Server tarafından CPU kullanımını nasıl takip edeceğimizi ve yöneteceğimizi örneklendiriyor olacağız. Ayrıca CPU ile ilişki konusunda SQL Server yönetimi konusunda kullandığım farklı kaynaklardan edindiğim birkaç script paylaşıyor olacağım. SQL Server üzerindeki… Continue Reading SQL Server Yüksek CPU Sorunu

Bu makalede bir tablodaki en yüksek veya en düşük veya aradaki kayıtları nasıl bulacağımız konusunda farklı alternatifleri örneklendireceğiz. Aşağıdaki verileri içeren bir tablomuz olduğunu düşünelim. Bu tabloda mağazaların 201005 ayındaki ciroları tarih bazında tutulmaktadır. 1. Örnek Bu tablodaki en yüksek ciro değerine sahip mağazaları bulacağız. Bunun için kullanabileceğimiz alternatifler şunlardır;… Continue Reading SQL MAX MIN SUM İçin Farklı Alternatifler

Bu yazımda t-sql sorgularında filtreleme karmaşasını bir nebze olsun düzene sokmak için ISNULL metodundan bahsedeceğim. Örneğin bir web uygulamamız var. Detaylı arama sayfası yaptık. Bir haylide parametremiz olacak doğal olarak. Ama kullanıcı her parametreyi girmek zorunda değildir. Girilmeyen parametrelerde de bir koşul uygulayamayız. İşte bu durumda ISNULL metodu gülümsüyor bize.… Continue Reading SQL Server da ISNULL Metodu