Dictinct Count و استفاده از آن

گاهی مواقع بجای استفاده از Count معمولی ناچار هستید تا از Distinct Count استفاده کنید. متاسفانه ماهیت این تابع همانند سایر توابع sum، count و ... نیست. هنگام استفاده از این تابع Analyse Service باید در همان موقع محاسبات مربوطه به آن را انجام دهد و این یعنی افت چشمگیر سرعت !

اینکه چطور می توان سرعت را هنگامی که ناچار هستید از Dictinct Count استفاده نمایید افزایش داد بحث مفصلی دارد که در آینده نزدیک به آن خواهم پرداخت.


و اما یک نکته ظریف: حتی المکان کلیدهای جداولی که در Data Warehouse خود می سازید را از نوع Int یا BigInt بگیرید. کافی است تا در کلید خود از نوع UniqueIdentifier استفاده کنید و بعد هم قصد استفاده از کلید مورد نظر در Distinct Count  را داشته باشد، اینجاست که عمق فاجعه را درک خواهید کرد. سرعت در هنگام Deploy ، همچنین اجرای دستور ساده MDX آنقدر پایین می آید که تصور می کنید که سیستم شما دچار Hang ی شده است.