Natively Compiled Scalar User-Defined Function(Udf) Nedir ve Nasıl Kullanılır?
Memory Optimized tablolar için SQL Server 2016 sürümünde Scalar User-Defined Function oluşturabiliyoruz. In Memory OLTP ve Memory Optimized Tablolar için “In Memory OLTP Nedir? Ve Nasıl Kullanılır?” isimli makalemi okumanızı öneririm.
Natively Compiled Scalar User-Defined Function’da fonksiyoniçindeki TSQL kodları daha iyi performans sağlayabilmek için native koda dönüştürülür.
Önceki makalemizde Memory Optimized Tablo’ların, Disk Based Tablolara göre performans olarak 5-30 kat daha iyi olduğunu söylemiştik. Memory Optimized Tabloları Natively Compiled Stored Procedure’le ve Natively Compiled Scalar User-Defined Function ile birlikte kullandığımızda bu fark daha da artıyor. Hızını görmek için test yapmanızı öneririm. Makalenin devamında gerekli kodu paylaşacağım.
“Natively Compiled Stored Procedure Nedir ve Nasıl Kullanılır?” isimli makaleyi de okumak isteyebilirsiniz.
Aşağıdaki şekilde kullanabilirsiniz.
USE [Test] GO CREATE FUNCTION [dbo].[NativelyCompiledFunctionOrnek](@Deger int) RETURNS BIGINT WITH NATIVE_COMPILATION, SCHEMABINDING AS BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'English') DECLARE @sonuc BIGINT=0; WHILE @Deger < 50000 BEGIN SET @sonuc+=@Deger; SET @Deger=@Deger+1; END RETURN @sonuc; END --Aşağıdaki şekilde çalıştırabilirsiniz --DECLARE @sonuc BIGINT; --SELECT @sonuc=dbo.NativelyCompiledFunctionOrnek (0) --Select @sonuc;