SQL Server 2016 Plan Compare Özelliği

SQL Server 2016 ile Execution Plnalarımızı çok rahat ve detaylı bir şekilde Compare edebiliyoruz.

 

Personel bilgileri ve Credit Card Id bilgileri çektiğimiz query mizin IO  değerlerini SET STATISTICS ON ile ve aynı zamanda Execution Planını çıkartıyoruz.

SET STATISTICS IO ON
SELECT
	FirstName
   ,LastName
   ,CreditCardID
FROM Person.Person p
INNER JOIN Sales.PersonCreditCard c
	ON p.BusinessEntityID = c.BusinessEntityID
WHERE p.ModifiedDate > '2015-01-01'

I/O Değerleri :

(9 rows affected)
Table 'PersonCreditCard'. Scan count 10, logical reads 20, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'Person'. Scan count 1, logical reads 3838, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

(1 row affected)

Execution Plan :

Execution Planımızı eplan adında bir folder açarak aşağıdaki gibi üzerine gelip sağ tıklayıp Save Eecution Plan As.. diyerek kaydediyoruz.

Execution Planı iyileştirmek için tablomuza Index atıyoruz.

USE [AdventureWorks2016]
GO
CREATE NONCLUSTERED INDEX [sqltr_NIX_Person_ModifiedDate_IN]
ON [Person].[Person] ([ModifiedDate])
INCLUDE ([BusinessEntityID], [FirstName], [LastName])
GO

Şimdi aynı query mizi tekrar EXEC edip yeni Execution Plan ve istatistik bilgilerini inceleyelim.

I/O değerleri :

(9 rows affected)
Table 'PersonCreditCard'. Scan count 10, logical reads 20, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'Person'. Scan count 1, logical reads 2, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

(1 row affected)

Execution Plan :

Gördüğünüz üzere query mizin perfromansını arttırdık. Execution planımız ve istatistik değerlerimizden bunu görmekteyiz. Şİmdi sie eski execution planımızı kaydetmiştik ve yeni performanslı hali ile Compare etmek istiyoruz.

Bunun için , Execution planımız üzerine gelip Compare diyip eski execution planımızı kaydettiğimiz path i vererek Compare işlemini başlatıyoruz.

Compare işlemimiz tamamlandı ve aşağıda ki ekran Compare işlemimizi bize sonucunu göstermekte.

 

Eskisi ve yeni plan arasında ki tüm farkları ve iyileştirme oranımızı net bir şekilde gözle görebiliyoruz bu şekilde.

Bu yöntemle performans artışlarınız ölçümleyebilir ve performans tuning operasyonlarınızın ne kadar değerli olduğunu ekiplerle paylaşıp fayda sağlayabilirsiniz.

Kolay Gelsin.

Leave a Reply

Your email address will not be published. Required fields are marked *