Frage

Wie kann ich eine indizierte Sicht in MS-SQL-Partition? Ich habe einen Index Ansicht erstellt, die Geschäfte von Werten liegen. Die View-Definition wird wie folgt

CREATE VIEW dbo.target_individual_product WITH SCHEMABINDIN       
    AS SELECT day_dim.date_time AS Date,  
    SUM(ISNULL(order_dim.quantity,0)) AS Target_Acheived,  
    branch_dim.branch_name AS Branch_Name ,   
    product_dim.product_name AS Product_Name  
FROM dbo.day_dim INNER JOIN  
     dbo.order_fact ON day_dim.day_id = order_fact.day_id  
INNER JOIN dbo.product_dim ON order_fact.product_id = product_dim.product_id   
INNER JOIN dbo.branch_dim ON order_fact.branch_id = branch_dim.branch_id   
INNER JOIN dbo.order_dim ON order_fact.order_id = order_dim.order_id  
GROUP BY order_dim.quantity, day_dim.date_time,branch_dim.branch_name, product_dim.product_name  
GO
CREATE UNIQUE CLUSTERED INDEX target_individual_product_I on target_individual_product (Date)

Jetzt möchte ich diese Tabelle partitionieren Datum Spalte. Wie kann ich das tun?

War es hilfreich?

Lösung

Sie erscheinen für einen "Partition-aligned" Index zu suchen; Partitionierung ist in SQL 2008 Enterprise Edition unterstützt (Sie nicht Ihre Version oder Ausgabe erwähnen). Partitionierten Indizes wird in der Online diskutiert, aber es gibt keine Diskussion über die Ansichtsindizes Partitionierung, dass ich finden kann, obwohl es möglich ist, und es ist in einem Weißbuch hier (siehe Abfrage 11 am Ende des Papiers) beschrieben:

http://msdn.microsoft.com/en-us/library/ dd171921.aspx

Andere Tipps

Ich habe wenig Erfahrung mit Partitionierung, aber ich denke, Sie Dinge sind verwirrend. (Gurus, bitte korrigieren Sie mich, wenn ich falsch liege).

Soweit ich weiß, gibt es drei Arten der Partitionierung in SQL Server :

partitionierten Tabelle kann auf einer Säule wie Datum partitioniert werden.

partitionierten Ansicht ist eine Ansicht, die ein UNION zwischen ähnlichen Anfragen aus verschiedenen Tabellen angeben.

A partioned justierte indizierte Sicht ist eine indizierte Ansicht, die entlang der gleichen Spalte (n) als die partitionierten Tabelle partitioniert ist, mit dem er verbunden ist.

Ich glaube nicht, es möglich ist, eine indizierte Sicht partitionieren die zugrunde liegenden Tabelle ohne Partitionierung. Daher würde ich vorschlagen, dass Sie Ihren day_dim auf der date_time Spalte partitionieren und dann eine Partition ausgerichtet indizierte Sicht erstellen, um diese Spalte zu entsprechen. Siehe Link und scrollen Sie nach unten zu Abfrage 11 ein Beispiel, wie dies zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top