Tento článek byl přeložený strojově. Pokud chcete zobrazit článek v angličtině, zaškrtněte políčko Angličtina. Anglickou verzi článku můžete také zobrazit v místním okně přesunutím ukazatele myši nad text.
Překlad
Angličtina

Optimalizace výkonu parametry filtr s Precomputed oddíly

Precomputed oddíly je optimalizace výkonu, které mohou být použity s filtrované sloučení publikace.Precomputed oddíly je také požadavek pro použití logických záznamy na filtrované publikací.Další informace o logických záznamů naleznete v tématu Změny související řádky se záznamy logických seskupení.

Při odběratel synchronizaci s vydavatel, musí vydavatele vyhodnotit filtrů určit řádky, které patří k oddílu tohoto odběratel nebo sada dat odběratel.Tento proces stanovení oddíl členství v nich změny u Vydavatel pro každého odběratel přijímání filtrované sady dat se nazývá oddíl hodnocení.Bez precomputed oddíly, oddíl hodnocení musí být provedeny u každé změny provedené od posledního filtrovaný sloupec u Vydavatel čas sloučit agent spuštěn pro konkrétní odběratel a má tento proces opakovat pro každý odběratel pro synchronizaci s Vydavatel.

However, if the Publisher and Subscriber are running on Microsoft SQL Server 2005 or a later version and you use precomputed partitions, partition membership for all changes at the Publisher is precomputed and persisted at the time that the changes are made.V důsledku toho při odběratel synchronizaci s Vydavatel, jej můžete okamžitě začít stáhnout změny, které jsou důležité pro jeho oddíl bez nutnosti projít procesu hodnocení oddílu.To může vést k značnému snížení výkonu zisky, pokud publikace má velký počet změn, předplatitelé nebo články v publikaci.

Vedle pomocí precomputed oddíly, předběžně generovat snímky nebo nechá předplatitelé generování žádosti o snímek a první aplikace čas jejich synchronizaci.Pokud chcete poskytnout snímky pro publikace, které použití parametrizované filtrů, použijte jednu nebo obě tyto možnosti.Pokud nezadáte ani jednu z těchto možností, odběry jsou inicializován, pomocí řady SELECT a příkazy INSERT, spíše než BCP nástroje; tento proces je mnohem pomalejší.Další informace naleznete v tématu Snímky pro sloučení publikace s parametry filtrů.

Chcete-li použít precomputed oddíly

Na všechny nové a stávající publikace, které dodržovat pokyny popsané výše jsou standardně precomputed oddíly.Nastavení lze změnit prostřednictvím SQL Server Management Studio nebo programově. Další informace naleznete v následujících tématech:

Pokud jsou splněny následující požadavky, nové publikace hromadné korespondence jsou ve výchozím nastavení vytvořen s precomputed oddíly povolen, a existující publikace budou automaticky inovovány pomocí funkce.Pokud publikace nesplňuje požadavky, lze jej změnit a poté precomputed oddíly mohou být povoleny.Pokud některé články splnění těchto požadavků a jiné ne, zvažte, vytvoření dvou publikacích, s jednou pro precomputed oddíly povoleno.

Požadavky pro klauzulí filtru

  • Všechny funkce používané v parametrizované řádku filtry, například HOST_NAME() a SUSER_SNAME(), by se zobrazí přímo v klauzule parametrizované filtru a ne vnořené uvnitř tohoto zobrazení nebo funkce dynamické.Další informace o těchto funkcích naleznete v tématu HOST_NAME (Transact-SQL), SUSER_SNAME (Transact-SQL)and Parametrizované filtry řádků.

  • Po vytvoření oddílu, by neměl měnit hodnoty vrácené pro každého odběratel.Pokud použijete HOST_NAME() ve filtru (a nezmění hodnota HOST_NAME()) například neměňte název počítače u odběratel.

  • spojit filtry by neměl obsahovat dynamické funkce (funkcí jako HOST_NAME() a SUSER_SNAME(), které vyhodnoceny jako odlišnou hodnotu v závislosti na odběratel, který provádí synchronizaci).Pouze filtry parametrizované řádek by měl obsahovat dynamické funkcí.

  • Nedeterministické funkce nelze použít v klauzule filtru.Další informace o nedeterministické funkce naleznete v tématu Deterministický a nedeterministické funkce.

  • Zobrazení odkazuje spojovací filtr doložky nebo klauzulí filtru parametrizované by neměl obsahovat dynamické funkcí.

  • V publikace, měla by existovat žádné vztahy filtr cyklický spojit.

kolace databáze

  • Pokud jsou použity precomputed oddíly, kolace databáze je vždy použita při porovnání, spíše než kolace tabulka nebo sloupec.Předpokládejme následující situaci:

    • Databáze s případ-citlivé kolace obsahuje tabulka s případ-necitlivý kolace.

    • Tabulka obsahuje sloupec computerName, která je porovnána hostitelský název odběratel parametrizované filtru.

    • Tabulka obsahuje jeden řádek s hodnotou "MŮJPOČÍTAČ" a jeden řádek s hodnotou "můjpočítač" v tomto sloupec.

    Pokud odběratel se synchronizuje s názvem hostitele "můjpočítač", odběratel, obdrží pouze jeden řádek, protože je porovnání případ-citlivé (kolace databáze).Pokud se precomputed oddíly nejsou používány, obdrží odběratel oba řádky vzhledem k tomu, že má tabulka kolace bez rozlišení velkých a malých písmen.

Je malý výkon nákladů, s precomputed oddíly při uložení změn od odběratel Vydavatel, ale hromadného doba zpracování hromadné korespondence je strávený hodnocení oddíly a stažení změn od Vydavatel předplatiteli, proto čistý zisk může být stále významné.Ve prospěch výkonu se bude lišit v závislosti na číslo předplatitele synchronizace souběžně a počet aktualizací za synchronizace přesunout řádky z jednoho oddílu do druhého.

Zobrazit: