Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure 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í:
Zadejte nápovědu k tabulce na úrovni izolace , například SNAPSHOT, REPEATABLEREAD nebo SERIALIZABLE.
Nastavte možnost databáze MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT na ZAPNUTO.
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