|
Unutmayayım diye yazdıklarım... |
SQL Server Optimizasyonu17.07.2007 tarihinde oğuzhan tarafından yazıldı.![]() NETSİS SQL Server Optimizasyonu. İlk olarak veritabanı üzerine sağ tıklayıp > Özellikler (Properties) > Options > Recovery kısmındaki Model seçeneğini Simple yapın. - Öncelik olarak yoğun kullanılan tablolarınıza optimize işlemi yapın. Aşağıdaki scripti kullanarak hagi tablolarınızda en çok kayıt var onu bulun. CREATE PROCEDURE dbo.listTableRowCounts- DBCC SHOWCONTIG kullanarak en yoğun olan tablo istatistiklerine göre hareket edelim. En basit kullanımı aşağıdaki gibidir. DBCC SHOWCONTIG (TabloAdı) Bu komut size liste halinde birçok veri geri verecektir. Şimdi bu komutun bize geri vereceği bilgilerin ne anlama geldiğine bakalım. Pages Scanned: (Taranılmış Sayfa Sayısı) Eğer veritabanınızda yaklasik olarak ne kadar satır bulunduğunu biliyorsanız, bu bölümde size ne kadar page(sayfa) verileceğini tahmin etmeniz mümkün. Extents Scanned: Tranılmış sayfa sayınızı alıp 8 e böldüğünüzde, elinize geçen rakamı en yakın rakama yuvarlayın ve Extents Scanned bölümünde elinize geçmesi gereken rakamı bulmuş olacaksınız. Eğer DBCC SHOWCONTIG tarafından size verilen rakam sizin hesapladığınızdan yüksek çıkıyorsa database/tablonuzda fragmentation(bölünme) var demektir. Aradaki fark çok büyükse, mutlaka makalenin sonundaki açıklayacağım adımları uygulayın. Extent Switches: Bu rakam Extents Scanned bölümdeki rakamdan 1 rakam küçük olmalıdır. Rakamlar arasındaki yüksek fark, database/tablonuzda bir veri fragmantasyonu olduğunu gösterir. Avg Pages per Extent: Pages Scanned / Extents Scanned e eşittir ve doğal olarak 8'e eşit olmalıdır. 8'den küçük rakamlar database/tablo fragmantasyonu olduğunu gösterir. Scan Density: (En önemli bölümlerden biri) Bu bölümde DBCC CONTIG tarafından size gösterilen deger, yüzde 100'e olabildiğince yakın olmalıdır. Düşük değerler veritabanınızın/tablonun fragmantasyona uğradığını gösterir. Logical Scan Fragmentation: Veritabanınızdaki olması gerektiği yerde bulunmayan page'lerin oranını gösterir.Yüzde 0 ile yüzde 10 arasında olmalıdır. Yüzde 10'un üzerinde ise, veritabanınız/tablonuz fragmentation'a uğramış demektir. Extent Scan Fragmentation: Veritabanınızdaki alanlar arasındaki boşlukların yüzdesini gösterir. Yüzdelik değer 0 olmalıdır. Daha yüksek yüzde değerleri, databaseinizin/tablonuzun fragmentation'a uğradığını gösterir. Avg. Bytes Free per Page: Sayfalardaki ortalama boş alanı gösterir. Yüksek rakamlar database'inizin/tablonuzun fragmantasyona uğradığını gösterir. Avg Page Density: 1/Avg Bytes Free Per page . Yukarıdaki değerin yüzdelik şekilde belirtilmiş halidir. Düşük yüzdeler database/tablonun fragmentasyonuna işarettir. Database Fragmentation (Bölünmeleri) İçin Çözümler 1. Indexlerinizi Drop ederek tekrar yaratabilirsiniz. 2. İndexlerinizi Recreate komutunun DROP EXISTING özelliğini kullanarak tekrar yaratabilirsiniz. 3. DBCC DBREINDEX komutunu kullanabilirsiniz. 4. DBCC INDEXDEFRAG komutunu kullanarak indexlerinizi defragment(birleştirmek) edebilirsiniz. Eğer veritabanınız üzerinde o sırada işlemler yapılıyorsa, indexi drop etme(atma) opsiyonunu seçerseniz yeni indexi çok çabuk şekilde yaratmalısınız yoksa veritabanınız indexsiz şekilde çok verimsiz çalışabilir. DBCC DBREINDEX komutu çalışırken durdurulduğu takdirde, bütün defragmentasyon kaybedilir ve yeniden defragment komunutunu çalıştırmanız gerekir. DBCC INDEXDEFRAG komutu, veritabanınız üzerinde en az yükü yaratacak opsiyondur. O anda gerçekleşen SELECT tarzı indexi kullanan komutlarla herhangi bir çakışmaya sebep olmaz. Ancak sonuçları yeni bir index oluşturmak kadar verimli olmayabilir. Çünkü bu komut indexleri düzene sokmak için diğer yukarıdaki methodlar gibi yeni sayfalar yaratmaz. Not : Özellikler yukarıdaki bilgileri benim yazmadığımı belirteyim bu bilgileri http://teknoturk.blogspot.com/2005/10/database-performans-ve-tuning.html adresinden alınmıştır. - Veritabanınızda tüm tabloların indexlerini defrag etmek için aşağıdaki scripti kullanabilirsiniz. Kaynaklar : http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/ss2kidbp.mspx http://sqlserver2000.databases.aspfaq.com/....html http://teknoturk.blogspot.com/2005/10/database-performans-ve-tuning.html http://sqlservercode.blogspot.com/ |
En çok ilgi görenler... HP IPAQ 914c Rastgele birşeyler... SQLyog Enterprise... Şebeke WHT, Fıroİş, Denizİş, Serkan, Semih, Sewgi, Beşir, İzgençvos, Erkan, Mumin, Aliİş, Lütfü, Alper, Yusuf |
|
2003 - Oğuzhan YILMAZ Web Hosting Sponsor Vargonen Technologiies |