سؤال

كيف يمكنني تقسيم طريقة عرض مفهرسة في 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)

الآن أريد تقسيم هذا الجدول باستخدام عمود التاريخ. كيف يمكنني فعل ذلك ؟

هل كانت مفيدة؟

المحلول

يبدو أنك تبحث عن فهرس "محاذاة القسم" ؛ يتم دعم Partitioning في SQL 2008 Enterprise Edition (لم تذكر الإصدار أو الإصدار). تمت مناقشة الفهارس المقسمة في الكتب عبر الإنترنت ، ولكن لا توجد مناقشة حول فهارس عرض التقسيم التي يمكنني العثور عليها ، على الرغم من أنها ممكنة ويتم وصفها في ورقة بيضاء هنا (انظر الاستعلام 11 في نهاية الورقة):

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

نصائح أخرى

لدي خبرة قليلة في التقسيم ، لكنني أعتقد أنك مربكة. (المعلمون ، يرجى تصحيحني إذا كنت مخطئًا).

بقدر ما أعرف هناك ثلاثة أنواع من التقسيم في خادم SQL:

أ جدول مقسوم يمكن تقسيمها على عمود مثل التاريخ.

أ عرض مقسوم هو عرض يحدد أ UNION بين استفسارات مماثلة من الجداول المختلفة.

أ عرض مفهرسة محاذاة هي طريقة عرض مفهرسة يتم تقسيمها على نفس العمود (العمود) مثل الجدول المقسم الذي يرتبط به.

لا أعتقد أنه من الممكن تقسيم طريقة عرض مفهرسة دون تقسيم الجدول الأساسي. لذلك ، أود أن أقترح عليك التقسيم الخاص بك day_dim على ال date_time العمود ، ثم قم بإنشاء طريقة عرض مفهرسة محاذاة من قسم لتطابق هذا العمود. يرى هذا الرابط والتمرير لأسفل إلى الاستعلام 11 على سبيل المثال كيفية القيام بذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top