PDA

View Full Version : طریقه آرشیو بانک اطلاعاتی ...



احد
سه شنبه 15 دی 1383, 11:14 صبح
سلام - خسته نباشید

1- با چه روشهای میتوان در Database Sql Server آرشیو سالانه ایجاد کنیم .

2- آیا این روش درست است که برای هر Table یک Table آرشیو درست کنیم و رکوردهای قدیمی رو در آن قرار دهیم . در این وضعیت جستجو اطلاعات به چه نحوی هست ؟

3- در یک جدول چند تا رکورد میتوان ذخیره کرد بطوریکه سرعت و کارائی موتور Sql پائین نیاد ؟ بطور کلی آیا در این مورد محدودیتی وجود دارد یا نه ؟


ممنون میشم اگه در این مورد راهنمایی کنید .

احد
چهارشنبه 16 دی 1383, 15:54 عصر
از دوستان کسی نیست راهنمایی کنه ؟

AminSobati
جمعه 18 دی 1383, 19:56 عصر
دوست عزیزم،
پارتیشن کردن اطلاعات، یک کار شناخته شده و کاملا اصولی هستش و SQL Server با امکاناتی که فراهم میکنه، به شما در این کار کمک خواهد کرد. اگر شما به طور صحیح و علمی دنبال این موضوع هستین، باید در مورد OLAP مطالعه بفرمایید(در BOL وجود داره)
آرشیو کردن اطلاعات در پایان هر سال باعث میشه که جداول اصلی شما کم حجم و جوان بشن که نتیجتا عمل ویرایش و Queryهای مربوط به سال جاری، بسیار سریع میشن.
ولی برای گزارش کلی از تمام سالها، میتونین Viewهای طراحی کنین که اطلاعات سالهای قبل رو هم جمع آوری کنه.

Creating and Maintaining Databases > Views > Creating a View > Creating a Partitioned View

Analysis Services > Analysis Services Architecture > Object Architecture > Partitions > Introduction to Partitions
این قسمتهای در BOL میتونن نقطه خوبی برای شروع باشند.
در مورد تعداد رکوردها، SQL Server هیچ محدودیتی برای شما ایجاد نمیکنه مگر اینکه سخت افزار شما رو محدود کنه (مثلا حجم هارد دیسک). در صورتی که Indexهای مناسب داشته باشید، همیشه Performance خواهید داشت. زمانی که حجم اطلاعات خیلی زیاد باشه، Partition کردن مطرح میشه.
موفق باشید

reham
شنبه 19 دی 1383, 21:13 عصر
من در هر بار ثبت باید 12 رکورد رو تو دیتا بیس بریزم.روزی سک بار عمل ثبت یعنی سالی 4300 رکورد ثبت شده.
به نظرتون باید نو ع طراحی دیتا بیسم رو عوض کنم تعداد جدول ها رو به جای ثبت 12 رکورد بیشتر کنم.
این تعداد بعدها مشکل کندی جستجو برام ایجاد نمیکنه>
ممنونم :thnx:

AminSobati
شنبه 19 دی 1383, 23:21 عصر
دوست عزیزم،
لطفا بیشتر توضیح بدین، ضمنا بعضی از کلمات قابل خواندن نیستن (عجله نکنین!)

reham
یک شنبه 20 دی 1383, 20:51 عصر
وای ببخشید .خیلی بد نوشتم.
ببینید من به هنگام زدن دکمه ثبت تو برنامم باید 12 رکورد رو تو یک table بریزم.روزی یک بار عمل ثبت انجام میشه.یعنی سالی حدود 4300 رکورد تو یکی از جدولام دارم.
من این 12 رکورد رو یک باره با دیتا ست ثبت میکنم.
به نظر شما این روش بهتره یا اینکه table خودمو بشکونم و به جای اون 12 رکورد جداگونه تو 12 جدول بریزم.
میخوام در اینده با کندی ریپورت مواجه نشم.نمیدونم کدوم بهتره؟
ممنوم میشم کمکم کنید. :thnx:

AminSobati
یک شنبه 20 دی 1383, 22:11 عصر
دوست عزیزم،
سالی 4300 رکورد خیلی ناچیزه. حتی بعد از 10 سال تازه میشه 43000 تا که مطرح نیست..
اگر ایندکسهای مناسب داشته باشین، با این تعداد رکورد هیچ وقت مشکل کندی در Report نخواهید داشت.
در مورد 12 رکورد، چون باز تعداد خیلی کمه و روزی هم یکبار انجام میشه، با همون روش با خیال راحت ادامه بدین.
موفق باشید

reham
دوشنبه 21 دی 1383, 18:07 عصر
ممنونم خیالم راحت شد.
بازم ممنون. :thnx: :thnx: :thnx: :thnx: :thnx: :thnx:

AminSobati
دوشنبه 21 دی 1383, 20:45 عصر
موفق باشین :)