İçeriğe geç

Yunus UYANIK

Microsoft SQL Database Consultant
  • Blog
  • Masters Of Scripts

Yunus UYANIK

Microsoft SQL Database Consultant
  • Blog
  • Masters Of Scripts

Memory-Optimized TempDB Metadata – New feature in SQL 2019

  • Yunus UYANIK Yunus UYANIK
  • 24 Mayıs 20203 Ağustos 2020
  • SQL Server Yenilikleri

In-Memory Database ailesinden olan Memory-Optimzed TempDB Metadata, tempdb üzerindeki metadatanın In-Memory mimarisi kullanılarak disk okumalarından kaçılınmasını sağlamaktadır. Bu sayede tempdb üzerinde oluşacak darboğazlardan kurtulunması hedeflenmiştir.

Demo

tempdb üzerinde bir tablo oluşturup SELECT atan bir procedure oluturuyorum ve sonrasın bunu ostress.exe ile tetikliyorum.

CREATE PROC usp_MemoryOptimizedTempdbTest
AS
BEGIN

IF OBJECT_ID('tempdb..#temp1') IS NOT NULL DROP TABLE #temp1;

SELECT TOP 1000 * INTO #temp1
FROM Posts WITH(NOLOCK)

SELECT * FROM #temp1 t
JOIN StackOverflow2010.dbo.PostLinks pl ON pl.PostId=t.Id

END

Memory-Optimized Tempdb’yi açıp kapatmak için aşağıdaki Syntax’ı kullanıyorum.

ALTER SERVER CONFIGURATION SET MEMORY_OPTIMIZED TEMPDB_METADATA = ON

Özellik üzerinde değişiklik yapmak SQL Restart gerektirmektedir.

SELECT SERVERPROPERTY('IsTempdbMetadataMemoryOptimized')

Memory-Optimized açıkken ve kapalıyken yaptığım demo sonuçları aşağıdaki gibidir. SQL Server tempdb üzerinde ciddi derecede disk okumalarından kurtulmuş gözükmektedir.

Kapalı

Açık

*Var olan PAGEIOLATCH değerleri Post ve PostsLinks tablolarındaki okumalar içindir.

Kısıtlamalar

  • Tek bir transaction içerisinde tempdb objelerini görüntülemeye ve ardından memory-optimized table üzerinde işlem yapmaya çalışıldığında hata alınacaktır.
  • Memory-Optimized table lock ve isolation hint’leri desteklememktedir. Daime READ COMMITTED olarak çalışmaktadır.
  • Memory-Optimized tablolar üzerinde Columnstore index oluşturulamamaktadır.

Not : Eğer başlangıç parametresi olarak -f kullanılırsa Memory-Optimized Tempdb disable olacaktır.

Etiketler:memory optimize sqlmemory optimize tempdbmemory-optimized tempdb metadatasql 2019 in memory tempdbsql 2019 tempdb performanssql 2019 yeniliklerisql memory optimized nedirsql memory optimized tempdbsql memory optimized tempdb metadata
öncekiVeritabanı bütünlük kontrolü – CHECKDB
sonrakiSQL Collation nedir? #DatabaseOptions

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

profile for Yunus UYANIK on Stack Exchange, a network of free, community-driven Q&A sites

Kategoriler

  • AlwaysOn (2)
  • Checklist (1)
  • Database Ayarları (9)
  • Database Corruption (1)
  • Execution Plan (6)
  • Index (2)
  • Locking & Blocking (1)
  • Login & User (2)
  • MongoDB (1)
  • Query Optimization (7)
  • Script (3)
  • SQL Server Konfigürasyonu (1)
  • SQL Server Tools (2)
  • SQL Server Yenilikleri (3)

En çok görüntülenenler

  • SQL Login ve User operasyonları - 13.728 görüntülenme
  • DBA Günlük Checklist - 2.076 görüntülenme
  • SSMS kısayolları - 1.931 görüntülenme
  • SQL Server Tablo Boyutları - 1.539 görüntülenme
  • Execution Plan Operatörleri - 1.103 görüntülenme

Son Yazılar

  • SQL Server Execution Plan Çeşitleri
  • SQL Server Lock ve Lock Escalation
  • SQL Server SELECT Nasıl Çalışır?
  • MongoDB – M001
  • Implicit Conversion nedir? #QueryOptimization
© - Yunus UYANIK - 2021