بتاريخ: 25 نوفمبر 200817 سنة comment_143743 الأخوة الأفاضل .. وصلت حجم قاعدة البيانات DMP File إلى 105ميجابايت فعلاً لأن هناك ضغط عمل عليها من شبكة شغالة حريقة .. ماشاء الله..وعندما أطلب تقرير الاحظ بطء يصل أحياناً في بعض التقارير إلى 15دقيقة. مع العلم أنني استخدم الـ View لاستخراج التقرير من أكثر من جدول، وهل طريقة الـ Union ALL تبطء التقرير بالرغم أنني استخدمت الفهارس لترتيب الجدول الكبيرة مثل جدول الفواتير إلاّ أن التقرير مازال بطئ .. الرجاء من الأخوة ممن تفضل الله عليهم بالمعرفة أن يدلونا على طريقة لتسريع عملية استخراج التقارير وخاصة كلما زاد حجم قاعدة البيانات أخذ وقت أكثر.جزاكم الله خير على تعاونكم معنا سلفاً تقديم بلاغ
بتاريخ: 25 نوفمبر 200817 سنة comment_143770 you hae to gather statistics periodically on your schemas to refresh statistics on the tables تقديم بلاغ
بتاريخ: 25 نوفمبر 200817 سنة comment_143776 مرحباالحل في انك تبني جدول و تعمل procedure على التقرير لتجميع البيانات من الجداول و تعبئتها في الجدول اللي بنينا و هذا التقرير بنبنى مباشرة على الجدول و بتصير الـ query : select * from temp_table where username=user; ---- عشان تضمن انه كل مستخدم بيطلعلوا النتائج اللي هو طلبها *** هذا الـ procedure بتنادي في التقرير بـ before_report مثال: procedure get_wanted_data is cursor c is select empname,empno,sal from emp; v_empvac number;---رصيد الإجازات begin delete from temp_table where username=user;commit; for r in c loop --- this blocks to collect data begin select empvac into v_empvac from vacations where empno=r.empno; exception when others then v_empvac:=-1; end; -----------[insert]----------- insert into temp_table values (r.empno,r.empname,v_empvac,user,sysdate); end loop; commit;---- put it after loop to speedup the process end; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.