Domanda

Come posso partizionare una vista indicizzata in MS-SQL?Ho creato una vista indice che memorizza un intervallo di valori.La definizione della vista è la seguente

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)

Ora voglio partizionare questa tabella utilizzando la colonna della data.Come lo faccio ?

È stato utile?

Soluzione

Si sembrano essere alla ricerca di un indice di "partizione allineato"; partizionamento è supportato in SQL 2008 Enterprise Edition (lei non ha citato la versione o edizione). indici partizionati sono discussi nella documentazione in linea, ma non c'è nessuna discussione di partizionamento degli indici delle viste che posso trovare, anche se è possibile ed è descritta in un white paper qui (vedi interrogazione 11 alla fine del documento):

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

Altri suggerimenti

Ho poca esperienza con il partizionamento, ma penso che tu stia confondendo le cose.(Guru, per favore correggetemi se sbaglio).

Per quanto ne so ci sono tre tipi di partizionamento in SQL Server:

UN tabella partizionata può essere partizionato su una colonna come data.

UN vista partizionata è una vista che specifica a UNION tra query simili da tabelle diverse.

UN vista indicizzata partizionata e allineata è una vista indicizzata partizionata lungo le stesse colonne della tabella partizionata a cui è collegata.

Non penso che sia possibile partizionare una vista indicizzata senza partizionare la tabella sottostante.Pertanto, suggerirei di partizionare il file day_dim sul date_time colonna e quindi creare una vista indicizzata allineata alla partizione che corrisponda a questa colonna.Vedere questo collegamento e scorri fino alla query 11 per un esempio su come farlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top