Megosztás a következőn keresztül:


Memory-Optimized táblák elérése értelmezett Transact-SQL használatával

A következőkre vonatkozik:SQL ServerAzure SQL Database

Néhány kivételtől eltekintve a memóriaoptimalizált táblákat bármilyen Transact-SQL lekérdezési vagy DML-művelettel (kiválasztás, beszúrás, frissítés vagy törlés), alkalmi kötegekkel és SQL-modulokkal, például tárolt eljárásokkal, táblaértékfüggvényekkel, eseményindítókkal és nézetekkel érheti el.

Az értelmezett Transact-SQL a natívan lefordított tárolt eljárástól eltérő Transact-SQL kötegekre vagy tárolt eljárásokra utal. Az értelmezett Transact-SQL memóriaoptimalizált táblákhoz való hozzáférést interop-hozzáférésnek nevezzük.

Az SQL Server 2016 -tól (13.x) kezdődően az értelmezett Transact-SQL a lekérdezések a memóriaoptimalizált táblákat párhuzamosan, nem csak soros módban tudják beolvasni.

A memóriaoptimalizált táblák natívan lefordított tárolt eljárással is elérhetők. A natívan lefordított tárolt eljárások a teljesítménykritikus OLTP-műveletekhez ajánlottak.

A következő esetekben ajánlott az értelmezett Transact-SQL hozzáférés használata:

  • Alkalmi lekérdezések és felügyeleti feladatok.

  • Jelentéskészítési lekérdezések, amelyek általában natívan lefordított tárolt eljárásokban nem elérhető szerkezeteket használnak (például az ablakfüggvényeket , más néven OVER függvényeket).

  • Ha az alkalmazás teljesítménykritikus részeit memóriaoptimalizált táblákba szeretné migrálni, minimális (vagy nem) alkalmazáskód-módosításokkal. A táblák migrálásából teljesítménybeli javulást is láthat. Ha ezután natívan lefordított tárolt eljárásokba migrálja a tárolt eljárásokat, további teljesítménybeli javulást tapasztalhat.

  • Ha egy Transact-SQL utasítás nem érhető el natívan lefordított tárolt eljárásokhoz.

Az alábbi Transact-SQL szerkezetek azonban nem támogatottak a memóriaoptimalizált táblázatban tárolt adatokhoz hozzáférő Transact-SQL tárolt eljárásokban.

Area Nem támogatott
Hozzáférés táblákhoz TRUNCATE TABLE

MERGE (memóriaoptimalizált tábla célként)

Dinamikus és billentyűkészlet-kurzorok (ezek automatikusan statikusra csökkennek).

Hozzáférés CLR-modulokból a környezeti kapcsolat használatával.

Memóriaoptimalizált tábla hivatkozása indexelt nézetben.
Adatbázisközi Adatbázisközi lekérdezések

Adatbázisközi tranzakciók

Csatolt kiszolgálók

Táblázatos tippek

A táblázatos tippekről további információt a következő témakörben talál: Táblázatos tippek (Transact-SQL). Az In-Memory OLTP támogatásához hozzáadásra került a SNAPSHOT.

Az alábbi táblázattippek nem támogatottak a memóriaoptimalizált táblák transact-SQL használatával való elérésekor.

HOLDLOCK

PAGLOCK

READUNCOMMITTED

TABLOCKXX

IGNORE_CONSTRAINTS

READCOMMITTED

ROWLOCK

UPDLOCK

IGNORE_TRIGGERS

READCOMMITTEDLOCK

SPATIAL_WINDOW_MAX_CELLS = egész szám

XLOCK

NOWAIT

READPAST

TABLOCK

Ha egy explicit vagy implicit tranzakcióból, értelmezett Transact-SQL használatával ér el egy memóriaoptimalizált táblát, az alábbiak közül legalább egyet kell elvégeznie:

Az automatikus véglegesítési módban futó lekérdezések által elért memóriaoptimalizált táblákhoz nincs szükség elkülönítési szintű táblázat-tippre.

Lásd még:

Transact-SQL In-Memory OLTP támogatása

Áttelepítés In-Memory OLTP-