USE AdventureWorks2019; — Query 1 SELECT p.ProductID, p.Name AS ProductName, c.Name AS CategoryName FROM Production.Product AS p JOIN Production.ProductSubcategory AS sc ON p.ProductSubcategoryID = sc.ProductSubcategoryID JOIN Production.ProductCategory AS c ON sc.ProductCategoryID = c.ProductCategoryID; GO 5 — Query 2 SELECT SalesOrderID, SUM(LineTotal) AS TotalSalesAmount FROM Sales.SalesOrderDetail GROUP BY SalesOrderID; GO 5 — Query 3 SELECT p.ProductID, p.Name AS ProductName, AVG(sod.OrderQty) AS AvgOrderQuantity, SUM(sod.LineTotal) AS TotalSalesAmount FROM Production.Product AS p JOIN Sales.SalesOrderDetail AS sod ON p.ProductID = sod.ProductID GROUP BY p.ProductID, p.Name; GO 5Önbellek Durumunu Kontrol Etme: Ardından, aşağıdaki sorguları kullanarak önbellek durumunu inceleyelim:
USE AdventureWorks2019; — Check the buffer cache usage SELECT COUNT(*) AS CachedPagesCount, COUNT(*) * 8 / 1024 AS CachedSizeMB FROM sys.dm_os_buffer_descriptors WHERE database_id = DB_ID(); GO — Check the plan cache usage SELECT objtype AS CacheObjectType, COUNT(*) AS CachedPlansCount, SUM(size_in_bytes) / 1024 AS CachedSizeKB FROM sys.dm_exec_cached_plans GROUP BY objtype; GO — Check the procedure cache usage SELECT cacheobjtype AS CacheObjectType, COUNT(*) AS CachedObjectsCount FROM sys.dm_exec_cached_plans GROUP BY cacheobjtype; GOİşte göreceğimiz sonuç aşağıda verilmiştir. Uyumluluk Düzeyini Değiştirmenin Etkisi: Şimdi, aşağıdaki sorguları kullanarak uyumluluk düzeyini değiştirmeye geçelim:
— For SQL Server 2019: ALTER DATABASE [AdventureWorks2019] SET COMPATIBILITY_LEVEL = 150; GOBurada 150, SQL Server 2019 anlamına gelir. Uyumluluk seviyesini SQL Server 2022 olarak değiştirmek isterseniz 150 yerine 160 kullanabilirsiniz. Aynı şekilde SQL Server 2017 için de 140 kullanabilirsiniz. Uyumluluk seviyesini değiştirip sorgu önbelleğini tekrar kontrol ettiğinizde, neredeyse boş olduğunu göreceksiniz.
Analiz ve Sonuç
Sonuç olarak, bir SQL Server veritabanının uyumluluk düzeyi, sorgu optimizasyon davranışını ve performansını belirlemede çok önemli bir rol oynar. Uyumluluk düzeyini değiştirmek, önbelleğe alınan yürütme planlarını etkileyebilir ve dolayısıyla genel sorgu performansını etkileyebilir. Kapsamlı Veritabanı Performansı Healt Check’in bir parçası olarak, müşterilerimizin SQL Server veritabanlarının tüm potansiyelinden yararlanmalarını sağlamak için her zaman veritabanı uyumluluk düzeyini göz önünde bulundururuz.
Size ve Veritabanlarınıza Yardımcı Olmak İçin Bekliyoruz!
İletişime geçerek hemen destek alabilirsiniz.
İletişim