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.
Pro nastavení úrovně izolace transakce aplikace používá připojovací atribut SQL_ATTR_TXN_ISOLATION. Pokud zdroj dat nepodporuje požadovanou úroveň izolace, může ovladač nebo zdroj dat nastavit vyšší úroveň. Chcete-li zjistit, jaké úrovně izolace transakcí zdroj dat podporuje a jaká je výchozí úroveň izolace, aplikace volá SQLGetInfo s možnostmi SQL_TXN_ISOLATION_OPTION a SQL_DEFAULT_TXN_ISOLATION ve správném pořadí.
Vyšší úrovně izolace transakcí nabízejí největší ochranu integrity databázových dat. Serializovatelné transakce jsou zaručeny, že nejsou ovlivněny jinými transakcemi, a proto zaručeno zachování integrity databáze.
Vyšší úroveň izolace transakcí však může způsobit pomalejší výkon, protože zvyšuje pravděpodobnost, že aplikace bude muset počkat na uvolnění zámků dat. Aplikace může určit nižší úroveň izolace, aby se zvýšil výkon v následujících případech:
Pokud lze zaručit, že neexistují žádné jiné transakce, které by mohly narušit transakce aplikace. K této situaci dochází pouze za omezených okolností, například když jedna osoba v malé společnosti udržuje soubory dBASE, které obsahují data pracovníků na jednom počítači a tyto soubory nesdílí.
Pokud je rychlost důležitější než přesnost a případné chyby budou pravděpodobně malé. Předpokládejme například, že společnost dělá mnoho malých prodejů a že velké prodeje jsou vzácné. Transakce, která odhaduje celkovou hodnotu všech otevřených prodejů, může bezpečně používat úroveň izolace Nezávazně čtení. I když transakce by zahrnovala objednávky, které jsou otevřeny nebo uzavřeny a následně se vrátí zpět, obvykle by se navzájem zrušily a transakce by byla mnohem rychlejší, protože není blokována pokaždé, když narazí na takovou objednávku.
Další informace najdete v tématu Optimistická souběžnost.