الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال فى أسس التصميم

مغلق
بدأه محمد طاهر في 23 يناير 2002 · 5 رد · 549 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله وبركاته

إخواني

اذا كان لدي جدول رئيسي به عدة قيم تنتج من تجميع قيم فرعية لها موجودة فى جداول أخري ( حوالي 20 قيمة و قيمها الفرعية موجودة فى 3 جداول أخري )

فهل فى حالة بيانات تتعدي المائة ألف سجل يكون من الافضل أي الخيارات التالية ؟؟ كمصدر بيانات للفورم و التقارير

1- التجميع المباشر عن طريق جمل SQL تحتوي علي Group BY (استعلامات تجميعية )

2- تجميع البيانات بالترحيل Transactions

3- استخدام Domain Functions (Dsum , Dmax, ..) !!

و أقصد بالافضل هنا من حيث سلامة التصميم من ناحية و سرعة تنفيذ البرنامج من الناحية الأخري

#2

الذي أعرفه في هذا المجال أن استخدام عبارات SQL بدون Group BY أسرع وكذلك استخدام الاستعلامات الخارجية أسرع من عبارات SQL الداخلية .

أما تجميع البيانات بالترحيل فإن كنت تقصد إنشاء جدول يحتوي على البيانات المطلوبة فقط فهو أسرع الجميع وكقاعدة أساسية مابني على الجداول أسرع من الاستعلامات أو عبارات SQL .

أما دوال المجال من ناحية السرعة فلا علم لي بها .

ولك تحياتي

#3

السلام عليكم و رحمة الله و بركاته

أخي أبو حمود أشكرك و أتفق معك فيما قلت ، و لكن دعني أكن أكثر تحديدا لسؤالي

أقوم بعمل برنامج به سجلات أساسية تمثل تعاقدات شركة من المتوقع أن تصل الي 2000 تعاقد

لكل تعاقد توجد جداول فرعبة يسجل فيها المستخلصات و أخري يسجل فيها أوامر التغيير و ثالثة يسجل فيها المقايسات

لكي أحصل علي اجمالي المنفذ و أجمالي أوامر التغيير و اجمالي المستخلصات الخاصة بكل تعاقد فى كل من الفورم و التقارير كرقم مناظر لكل تعاقد هل

1- أضيف قيم لها فى الجدول الخاص بكل تعاقد و أقوم بترحيل البيانات اليها من الجداول الفرعية بالكود كل فترة

2- لا أضيف قيم مناظرة فى جدول العقود و أكتفي بتجميع القيم باحدي الطرق السابق ذكرها

و هذا ما أنا محتار فيه هل استخدام الطريقة الثانية يبطئ البرنامج فى حالة وجود مائة ألف سجل فى الجداول الفرعية، فبالتأكيد الطريقة الأولي لن تواجه مشكلة البطئ و لكن عيبها أنه لن يتم تحديث البيانات الا بعد كل ترحيل

و جزاكم الله خيرا

#4

اخي مصراوي لن يجيبك أحد مثل ماتجيبك التجربة .

ولك تحياتي

#5

السلام عليكم و رحمة الله و بركاته

ان التجربة باستخدام أكسس تفضل طريقة الترحيل حتي مع عشرة آلاف سجل

أما SQL فلم أجرب عليه شيء بعد

و قد طرحت السؤال ، اذ ربما تكون النتيجة التي وصلت اليها لا تتناسب مع ما هو مفترض و ربما يكون هذا له علاقة بكفاءة الشبكة بصورة كبيرة و ربما لعيوب فى التصميم و لكن

ما أسعي الي الوصول اليه ، ما هو الأفضل نظريا

و جزاكم الله خيرا

هذا الموضوع مغلق.

مواضيع مشابهة