Sdílet prostřednictvím


Přístup k paměťově optimalizovaným tabulkám pomocí interpretovaného Transact-SQL

platí pro:SQL Serverazure SQL Database

S několika výjimkami máte přístup k tabulkám optimalizovaným pro paměť pomocí libovolné operace Transact-SQL dotazu nebo DML (výběr, vložení, aktualizace nebo odstranění), ad hoc dávek a modulů SQL, jako jsou uložené procedury, funkce tabulek, triggery a zobrazení.

Interpretované Transact-SQL odkazuje na Transact-SQL dávky nebo uložené procedury jiné než nativně zkompilovaná uložená procedura. Interpretovaný Transact-SQL přístup k tabulkám optimalizovaným pro paměť se označuje jako přístup zprostředkovatele komunikace.

Počínaje SQL Serverem 2016 (13.x) můžou dotazy v interpretovaných Transact-SQL paralelně prohledávat tabulky optimalizované pro paměť místo v sériovém režimu.

K tabulkám optimalizovaným pro paměť je také možné přistupovat pomocí nativně zkompilované uložené procedury. Nativní zkompilované uložené procedury se doporučují pro důležité operace OLTP s výkonem.

Pro tyto scénáře se doporučuje interpretovaný přístup Transact-SQL:

  • Ad hoc dotazy a úlohy správy.

  • Dotazy pro sestavy, které typicky využívají konstrukce, jež nejsou k dispozici v nativně kompilovaných uložených procedurách (jako jsou funkce oken, někdy označované jako funkce OVER).

  • Pokud chcete migrovat části aplikace kritické pro výkon do tabulek optimalizovaných pro paměť, s minimálními (nebo žádnými) změnami kódu aplikace. Při migraci tabulek můžete potenciálně zobrazit vylepšení výkonu. Pokud pak migrujete uložené procedury do nativně zkompilovaných uložených procedur, může se zobrazit další zlepšení výkonu.

  • Pokud příkaz Transact-SQL není k dispozici pro nativně zkompilované uložené procedury.

Následující Transact-SQL konstrukty však nejsou podporovány v interpretovaných Transact-SQL uložených procedur, které přistupují k datům v tabulce optimalizované pro paměť.

Area Nepodporované
Přístup k tabulkám TRUNCATE TABLE

MERGE (tabulka optimalizovaná pro paměť jako cíl)

Dynamické kurzory a kurzory sady klíčů (tyto ukazatele se automaticky snižují na statické).

Přístup z modulů CLR pomocí kontextového připojení.

Odkazování na tabulku optimalizovanou pro paměť z indexovaného zobrazení
Křížová databáze Mezidatabázové dotazy

Transakce mezi databázemi

Propojené servery

Rady k tabulce

Další informace o nápovědě k tabulce najdete v tématu. Rady tabulky (Transact-SQL). SNAPSHOT byl přidán pro podporu In-Memory OLTP.

Následující rady tabulky nejsou podporovány při přístupu k tabulce optimalizované pro paměť pomocí interpretovaného jazyka Transact-SQL.

HOLDLOCK

PAGLOCK

READUNCOMMITTED

TABLOCKXX

IGNORE_CONSTRAINTS

READCOMMITTED

ROWLOCK

UPDLOCK

IGNORE_TRIGGERS

READCOMMITTEDLOCK

SPATIAL_WINDOW_MAX_CELLS = celé číslo

XLOCK

NOWAIT

READPAST

TABLOCK

Při přístupu k tabulce optimalizované pro paměť z explicitní nebo implicitní transakce pomocí interpretovaného jazyka Transact-SQL musíte provést alespoň jednu z těchto věcí:

Pro tabulky optimalizované pro paměť, ke které přistupují dotazy spuštěné v režimu automatického potvrzení, není vyžadována nápověda na úrovni izolace.

Viz také

podporaTransact-SQL pro In-Memory OLTP

Migrace na In-Memory OLTP