Aracılığıyla paylaş


Yorumlanmış Transact-SQL Kullanarak Memory-Optimized Tablolara Erişme

Şunlar için geçerlidir:SQL ServerAzure SQL Veritabanı

Yalnızca birkaç özel durumla, herhangi bir Transact-SQL sorguyu veya DML işlemini (seçme, ekleme, güncelleştirme veya silme), geçici toplu işlemleri ve saklı yordamlar, tablo-değer işlevleri, tetikleyiciler ve görünümler gibi SQL modüllerini kullanarak bellek için iyileştirilmiş tablolara erişebilirsiniz.

Yorumlanan Transact-SQL, yerel olarak derlenmiş bir saklı yordam dışındaki Transact-SQL toplu işlemleri veya saklı yordamları ifade eder. Bellek optimize edilmiş tablolara yorumlanmış Transact-SQL erişimi, geçişken erişim (interop erişimi) olarak adlandırılır.

SQL Server 2016'dan (13.x) başlayarak, yorumlanmış Transact-SQL sorgular bellek için iyileştirilmiş tabloları yalnızca seri modda değil paralel olarak tarayabilir.

Bellek ile optimize edilmiş tablolara yerel derlenmiş bir saklı yordam kullanılarak da erişilebilir. Performans açısından kritik OLTP işlemleri için yerel olarak derlenmiş saklı yordamlar önerilir.

Bu senaryolar için yorumlanmış Transact-SQL erişimi önerilir:

  • Geçici sorgular ve yönetim görevleri.

  • Genellikle yerel olarak derlenmiş saklı yordamlarda (bazen OVER işlevleri olarak da adlandırılan pencere işlevleri gibi) kullanılamayan yapıları kullanan raporlama sorguları.

  • Uygulamanızın performans açısından kritik bölümlerini en az (veya hiç) uygulama kodu değişikliğiyle bellek için iyileştirilmiş tablolara geçirmek için. Tabloları geçirirken performans geliştirmeleri görebilirsiniz. Daha sonra saklı yordamları yerel olarak derlenmiş saklı yordamlara geçirirseniz, daha fazla performans geliştirmesi görebilirsiniz.

  • Yerel olarak derlenmiş saklı yordamlar için bir Transact-SQL deyimi olmadığında.

Ancak aşağıdaki Transact-SQL yapıları, bellek için optimize edilmiş bir tablodaki verilere erişen yorumlanmış Transact-SQL saklı yordamlarında desteklenmez.

Area Desteklenmeyen
Tablolara erişim TRUNCATE TABLE

MERGE (hedef olarak bellek için iyileştirilmiş tablo)

Dinamik ve anahtar kümesi imleçleri (bunlar otomatik olarak statik duruma düşer).

Bağlam bağlantısını kullanarak CLR modüllerinden erişim.

Dizinli bir görünümden bellek için iyileştirilmiş bir tabloya başvurma.
Veritabanları arası Veritabanları arası sorgular

Veritabanları arası işlemler

Bağlı sunucular

Tablo İpuçları

Tablo ipuçları hakkında daha fazla bilgi için bkz. Tablo İpuçları (Transact-SQL). SNAPSHOT In-Memory OLTP'yi desteklemek için eklendi.

Yorumlanmış Transact-SQL kullanılarak bellek için iyileştirilmiş bir tabloya erişilirken aşağıdaki tablo ipuçları desteklenmez.

HOLDLOCK

PAGLOCK

READUNCOMMITTED

TABLOCKXX

IGNORE_CONSTRAINTS

READCOMMITTED

ROWLOCK

UPDLOCK

IGNORE_TRIGGERS

READCOMMITTEDLOCK

SPATIAL_WINDOW_MAX_CELLS = tamsayı

XLOCK

NOWAIT

READPAST

TABLOCK

Yorumlanmış Transact-SQL kullanarak açık veya örtük bir işlemden bellek için iyileştirilmiş bir tabloya erişirken, aşağıdakilerden en az birini yapmanız gerekir:

Otomatik işleme modunda çalışan sorgular tarafından erişilen bellek için iyileştirilmiş tablolar için yalıtım düzeyi tablo ipucu gerekli değildir.

Ayrıca Bkz.

In-Memory OLTP içinTransact-SQL Desteği

In-Memory OLTP'ye Geçiş