Вопрос

Как мне разделиться проиндексированный вид в MS-SQL? У меня есть представление индекса, созданный, который хранит диапазон значений. Определение просмотра выглядит следующим образом

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)

Теперь я хочу разделить эту таблицу, используя столбец даты. Как я могу это сделать ?

Это было полезно?

Решение

Похоже, вы ищете «выровненный раздел»; Разделение поддерживается в SQL 2008 Enterprise Edition (вы не упомянули вашу версию или издание). Разделенные индексы обсуждаются в книгах в Интернете, но нет обсуждения индексов по разбиванию, которые я могу найти, хотя это возможно, и он описан в белой бумаге здесь (см. Query 11 в конце бумаги):

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

Другие советы

У меня мало опыта с разделением, но я думаю, что вы запутаете вещи. (Гуру, пожалуйста, поправьте меня, если я ошибаюсь).

Насколько я знаю, есть Три типа разделения на SQL Server:

А. рассеянный стол Может быть разделен на столбец, такой как дата.

А. Разбиение взгляда это представление, указав UNION между аналогичными запросами из разных таблиц.

А. рассеянный выровненный проиндексированный вид Является ли проиндексированным представлением, которое разделено вдоль тех же столбцов, как распределяемая таблица, к которой она связана.

Я не думаю, что можно разделить проиндексированный вид без разделения базовой таблицы. Поэтому я бы предположил, чтобы вы разделили свой day_dim на date_time Столбец, а затем создайте раздел, выровненный раздел, чтобы соответствовать этому столбцу. Видеть Эта ссылка и прокрутите вниз до 11 Например, как это сделать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top