Ich habe eine Kimball-Stil DW (Fakten und Dimensionen in Sternmodellen - keine spät ankommenden Fakten Zeilen oder Spalten, keine Spalten in Dimensionen außer Verfall als ändern Teil der sich langsam ändernden Dimensionen des Typs 2) mit umfangreicher täglicher Verarbeitung zum Einfügen und Aktualisieren von Zeilen (an neuen Daten) und monatlichen und täglichen Berichtsprozessen. Die Fakttabellen sind durch die Daten für die einfache Rollback alter Daten partitioniert.In einem Data Warehouse-Szenario gibt es einen Nachteil bei der Verwendung von WITH (NOLOCK)
Ich verstehe die WITH(NOLOCK)
uncommitted auszulesenden Daten führen kann, weiß ich nicht aber auch alle Sperren erstellen möchten, die die ETL-Prozesse zu versagen oder zu blockieren verursachen würde. Wenn wir vom DW lesen, lesen wir in allen Fällen von Faktentabellen für ein Datum, das sich nicht ändert (die Faktentabellen sind nach Datum partitioniert), und für Dimensionstabellen, für die keine Attribute für die Fakten geändert werden sie sind verbunden mit.
Also - gibt es irgendwelche Nachteile? - vielleicht in den Ausführungsplänen oder in der Operation von solchen SELECT
-nur Abfragen, die parallel von den gleichen Tabellen laufen.
verwandt. http://stackoverflow.com/questions/20047/diagnosing-deadlocks-in-sql-server-2005 –