PDA

View Full Version : پرسش: نحوه نمایش لیست بدهکار/بستانکار به صورت بهینه



en.amirh
شنبه 06 تیر 1394, 01:00 صبح
با سلام خدمت دوستان، یک سوال داشتم:
فرض کنید جدولی داریم که با ستونهای کد طلبکار/بستانکار - مبلغ بدهکاری - مبلع بستانکاری - و سایر ستونها

برای نمایش لیست اشخاص و مبلغ بدهکاری/بستانکاری آنها در برنامه بهتر است از یک view استفاده کرد یا یک table جداگانه؟
(از آنجایی محاسبه مبلغ نهایی در جدول اصلی زمانبر بوده و بهینه نیست.)


. باتشکر

tooraj_azizi_1035
شنبه 06 تیر 1394, 11:30 صبح
سلام
شما کوئری محاسبه روی قرار بدین تا روی علت زمان بر بودن اون بشه بحث کرد.

en.amirh
شنبه 06 تیر 1394, 16:21 عصر
132652 132651
فرض کنید جدولی با مشخصات تصویر سمت راست داریم حال در این جدول چندین میلیون رکورد ذخیره شده است که ما می خواهیم مبلغ نهایی بستانکاری / بدهکاری هر فرد را بدست آورده و در یک فرم برنامه اصلی مانند تصویر سمت چپ نشان دهیم خب طبیعتا اگر به ازا هر بار لود شدن فرم بخواهیم یک همچین محاسباتی را انجام دهیم اصلا منطقی نیست حالا سوال من اینجاست که آیا بهتر است جدول دیگری در دیتابیس بسازم که دقیقا این مقادیر نهایی (مثل تصویر سمت چپ) را در خود نگه داری کند و یا بهتر از view ای از جدول مثل تصویر سمت چپ بسازم؟
(البته این را هم می دانم که خود view باز همان حجمه اطلاعاتی را باید محاسبه کند چرا که تمامی اعمال روی آن در اصل روی جدول اصلی اعمال می شود)


با تشکر:اشتباه:

tooraj_azizi_1035
یک شنبه 07 تیر 1394, 10:13 صبح
اگر بخواهید خروجی مورد نظر رو در جدول ذخیره کنید اونوقت با هر تغییری باید دوباره محاسبات رو انجام بدید و در جدول ذخیره کنید که توصیه نمی شه.
یک View بسازید و جدول رو Partition بندی کنید (احتمالاَ بر اساس فیلد Trans_Date) تا کوئری فقط روی یک پارتیشن بخصوص (داده های سال جاری) اجرا شود.
و در محاسبات هم در کوئری تون اگر یک SUM بنویسید Perfromance بهتری خواهید داشت:
SUM(-CreditAmount + OwnedAmount)

en.amirh
یک شنبه 07 تیر 1394, 19:50 عصر
پاسختون واقعا کمکم کرد.ممنون دوست عزیز.