Oprava: Suboptimal plán spuštění na nepřímé UPDATE indexovaná zobrazení

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.

286234
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
CHYBA Č: 236137 (SHILOH_BUGS)
Příznaky
Aktualizace tabulky podkladové indexovaného zobrazení může způsobit suboptimal plán při indexovaných zobrazení obsahuje agregační funkce.
Příčina
Nesprávné řádku odhady výsledek skenování indexu namísto indexu hledání při výpočtu souhrnné informace.
Řešení
Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro SQL Server 2000. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
290211INF: Jak získat nejnovější aktualizaci Service Pack pro SQL Server 2000
Jak potíže obejít
Vyhněte se použití agregačních funkcí v indexovaném zobrazení.
Prohlášení
Společnost Microsoft potvrzuje, že se jedná o problém v SQL Server 2000. Tento problém byl poprvé opraven v SQL Server 2000 Service Pack 1.
Další informace
Spustit následující kód viz problém. Poznámka: krok "výpočetní skalární" provádění hledání indexu.
use tempdbgoIF EXISTS(SELECT * FROM information_schema.views where table_name = 'v1')  drop view v1IF EXISTS(SELECT * FROM information_schema.tables where table_name = 't1')  drop table t1gocreate table t1 (a int, b bigint NOT NULL)set nocount ondeclare @i intset @i=1while (@i<100000)begin  insert into t1 values (@i,0)  set @i=@i+1endgoSET NUMERIC_ROUNDABORT OFF SET ANSI_PADDING,ANSI_WARNINGS,CONCAT_NULL_YIELDS_NULL,ARITHABORT,QUOTED_IDENTIFIER,ANSI_NULLS ONGOcreate view v1 (a,b,c) with schemabinding as select a, sum(b), count_big(*) from dbo.t1 group by a gocreate unique clustered index i1 on v1(a)goset statistics profile oninsert into t1 values (1,1)set statistics profile offgo				
Optimalizátor plán IV výkonu pomalé rychlé rychlost optimalizace dotazu

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

Vlastnosti

ID článku: 286234 - Poslední kontrola: 01/16/2015 21:28:02 - Revize: 3.2

  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB286234 KbMtcs
Váš názor