PRB: Vnořený spojení opakovat používajícím A „ vyhledat BOOKMARK.. předběžného NAČTENÍ .WITH "může uchovat déle uzamčení

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:260652
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Příznaky
Pokud používá plán provádění smyčky spojení vnořené a vyhledávání záložky, používá klauzuli WITH předběžného NAČTENÍ uzamčení jsou uchovávány dobu trvání spojení vnořené smyčky určování opravňující záložky. Po záložky se používá k načítání dat nevyřízené sloupce a data umístěna do vyrovnávací paměti výstupu uzamčení potom vydána. Toto chování může vést k zablokování dalších systému ID procesu (spids).
Jak potíže obejít
Pokud změna nápovědy pro spojení z LOOP algoritmu HASH nebo sloučit blokování nedojde.
Další informace
Toto chování může být znázorněna pomocí následující příklad:
SELECT c.mstr_acct, c.last_name_m, c.first_name, c.name_prefix, c.company_nameFROM tickler a  INNER LOOP JOIN member b    ON a.mbr_acct = b.mbr_acct  INNER LOOP JOIN person c    ON b.mstr_acct = c.mstr_acct WHERE a.tickler_code = 'SPIRITEXT' 				
the SHOWPLAN výstup pro předchozí dotaz následuje:
StmtText                                                                                                                                            ---------------------------------------------------------------------------------------------------------------------------------------------  |--Bookmark Lookup(BOOKMARK:([Bmk1002]), OBJECT:([TestLoopJoin].[dbo].[person] AS [c]) WITH PREFETCH)       |--Nested Loops(Inner Join)            |--Nested Loops(Inner Join)            |    |--Index Seek(OBJECT:([TestLoopJoin].[dbo].[tickler].[tickler_code] AS [a]), SEEK:([a].[tickler_code]='SPIRITEXT') ORDERED)            |    |--Clustered Index Seek(OBJECT:([TestLoopJoin].[dbo].[member].[pk_member] AS [b]), SEEK:([b].[mbr_acct]=[a].[mbr_acct])  ORDERED)            |--Index Seek(OBJECT:([TestLoopJoin].[dbo].[person].[pk_person] AS [c]), SEEK:([c].[mstr_acct]=[b].[mstr_acct]) ORDERED)				
uzamčení chování snadno pozorované spuštěním UPDATE provádí na prvních několika řádků, které jsou právě vybrány z tabulky jiné připojení. Bude Upozorňujeme, že UPDATE blokován, dokud nebudou zpracovány všechny záložky vyhledávání příkaz SELECT a řádky jsou odesílány klientovi. Vyhledat záložku

Používá operátor logické a fyzické vyhledávání záložka záložky (ID řádku nebo clustering klíč) vyhledat odpovídající řádek v tabulce nebo seskupený index. Argument sloupec obsahuje popisek záložky slouží k vyhledání řádku v tabulce nebo seskupený index. Argument sloupec také obsahuje název tabulky nebo které je řádek vyhledané seskupený index. Pokud klauzule WITH předběžného NAČTENÍ se zobrazí ve sloupci argument, potom procesoru dotazu zjistil optimální použít asynchronní prefetching (čtení napřed) při vyhledávání záložky v tabulce nebo seskupený index je.

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 260652 - Poslední kontrola: 01/16/2015 20:22:32 - Revize: 3.2

Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbpending kbprb KB260652 KbMtcs
Váš názor
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)