Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure 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:
Adjon meg egy elkülönítési szintű táblázat tippet , például SNAPSHOT, REPEATABLEREAD vagy SERIALIZABLE.
Állítsa be a MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT adatbázis-beállítást BE értékre.
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.