‫۹ سال و ۱۱ ماه قبل، چهارشنبه ۲۱ آبان ۱۳۹۳، ساعت ۲۳:۰۶
جناب رجبی یک سوال سیستم ارشیو کردن در پارتیشن بندی به چه شکل هست و اینکه اگر بخشی از پارتیشن‌ها مثلا قبل از سال 2012 را به ارشیو ببریم در سرعت پرس و جو‌ها تاثیر دارد و اینکه بعد از ارشیو کردن میشه از ارشیو در اورد او پارتیشن‌ها را یا نه؟
جناب رجبی یه سوال در رابطه با pk دارم اونم این هست که پریمری کد را روی دو فیلد گذاشتید که کلاستر هست
حالا سوال این هست که گذاشتن دو فیلد به عنوان یک پریمری کد چقدر در حجم و کارایی تاثیر داره ؟
اگه سه تا بشه چطور ؟
CONSTRAINT PK_Orders PRIMARY KEY CLUSTERED (OrderID ASC, OrderDate ASC)

و همینطور میشه مثالی بزنید که بشه ایندکس را هم به صورت پریمری به جدول اضافه کرد که ایندکس‌ها در فایل‌ها تقسیم بشن دقیقا مثل pk بالا؟
ممنون از پاسختون من دیشب بالاخره تونستم راهی برای پیاده سازی این روشی روی دیتابیس پیدا و اجرا کنم و نتیجه بسیار رضایت بخش بود تقریبا برای پرس و جو هایی که شامل aligned index میشد تقریبا 70 بار سریعتر بود
اما حجم فایل‌های .ndf روی هم رفته تقریبا 4 گیگ میشه در صورتی که خود جدول 1.48 گیگ هست

فعلا دارم روی فشرده سازی و تعریف ایندکس روی بعضی فیلد‌ها کار می‌کنم
اما نمی‌دونم برای ستون int مثلا برای تعداد کدام ایندکس را پیاده سازی کنم بهتر است و تعریف این ایندکس‌ها مثل تعریف pk‌ها که در فایل‌ها پخش میشن ب چه صورت هست  فعلا دارم روش کار می‌کنم اما ممنون میشم در این زمینه هم راهنماییم کنید
با تشکر
‫۹ سال و ۱۱ ماه قبل، پنجشنبه ۱۵ آبان ۱۳۹۳، ساعت ۰۰:۱۷
جناب رجبی ممنون بابت پاسختون من فایل را دارم می‌خونم که بخش هایش رو خودتون توضیح دادید اما با منطقی که جداولم دارن به مشکل خوردم. من کمی گشتم و با فشرده سازی به صورت row و page اشنا شدم که بسیار جالب بودو من ان را برای بزرگترین جدولم تست کردم و نتایج قابل توجهی داشت
برای row حجم جدول از 17.6 به 9.8 کاهش پیدا کرد
برای page حجم جدول از 17.6 به 4.8 کاهش پیدا کرد که خیلی خوبه
اما سوالی پیش میاد برام این فشرده سازی چقدر در پرس و جو‌ها و کوئری‌های پیچیده تاثیر داره اصلا این تاثیر مثبت هست یا منفی ؟
من هر روز از این جداول پرس و جو می‌کنم بنابراین می‌شود گفت خواندن از این جداول در حد متوسطی است  نوشتن ندارد
و ایا فشرده سازی بر روی پریمری کد‌ها و ایندکس‌ها هم تاثیر دارد و اگر دارد مثبت است یا خیر؟و تاثیرش بر روی پرس و جو‌ها چقدر است؟
و سوال اخر به نظرتون با این پارتیشن بندی من pk  و ایندکس‌ها را در فایل گروپی جدا ذخیره کنم یا در فایل primary به خصوص که بخوام اطلاعات قبل از سال 85 را ارشیو کنم و هر ساله این ارشیو یک سال بیشتر می‌شود
با تشکر
‫۹ سال و ۱۱ ماه قبل، سه‌شنبه ۱۳ آبان ۱۳۹۳، ساعت ۲۲:۲۲
سلام جناب رجبی مطلب بسیار خوبی بود مخصوصا که من واقعا بهش نیاز داشتم اما سوالاتی برام پیش اومده من دیتابیس بزرگی دارم که سه جدولش از همه بزرگته و یکیش 190 میلیون و دو تا جدول 43 میلیون رکوردی دارم و بقیه جداول زیر 5 میلیون هست
چون در شروع کار تجربه خوبی نداشتم و از حجم اطلاعات مطمئن نبودم روی دیتابیسم pk نذاشتم حالا که می‌خوام pk  و ایندکس گذاریش کنم برای هر جدول یک filegroup و در هر فایل گروپ یک فایل برای pk  و یک فایل برای index‌ها گذاشتم و تقریبا هر کدوم از اون جدوال بزرگ را به 30 تا جدول تقسیم کردم تا سرعت پرس و جو‌های زیادم بسیار کمتر بشه که به نظرم خوب نمی‌اومد (کار پرس و جو و ایجاد کوئری را دشوارتر می‌کنه) تا با راه حل شما اشنا شدم اما سوالم اینجاست اگر داده هام رو بر اساس تاریخ در datafile‌ها پارتیشن بندی کنم زمانی که بخوام مثلا اطلاعات تا قبل از سال 85 را ارشیو کنم تاثیری در زمان پرس و جوی من دارد و کلید‌ها و ایندکس‌ها وضعیتشون به چه شکل خواهد بود اگر از راه حل خودم استفاده نکنم چون همینجوریش حجم دیتابیسم 35 گیگه و با گذاشتن کلید و ایندکس چیزی بین 15 تا 20 گیگ هم اضافه میشه که خیلی بد هست.
الان که یه خورده رو کد‌ها کار کردم یه سوال برام پیش اومد مثالی میزنم من جدولی دارم که تاریخ را با نام  شرکت میگیره و یک کد گزارش میده حالا من این کد گزارش را با مثلا 10 هزار رکورد در جدول دوم ذخیره می‌کنم و و باز با همون کد گزارش 5000 رکورد را در جدول سوم ذخیره می‌کنم و به همین ترتیب برای تمام روز‌ها و برای کل شرکت‌ها این کد گزارش تولید و با حجم انبوهی از رکورد‌ها در جداول ذخیره میشن
حالا سوال اینه که چطور بر اساس تاریخ که در جدول فقط اول هست جداول دیگر را پارتیشن بندی کنم ؟