delphi4arab منتديات دلفي للعرب

نسخة كاملة : كم كمية البيانات المتدفقة عبر الشبكة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله


عذرا لاني لا اتواجد وهذا لانشغالي ببعض الاعمال البرمجية

على العموم اريد ان استشيركم بحسبة حسبتها

لنفرض عندي 10 الالاف سجل لموظفين على السيرفر واريد عرض بيانات كل السجلات في جهاز طرفي وفي السجل حقل مثلا بالمؤهل الدراسي

الحالة الاولى : يوجد جدول به كل المؤهلات يرتبط بحقل المؤهل الدراسي والذي هو طبعا رقمي لتخزين رقم ID المؤهل وسيكون حجمه على ما عتقد 1 بايت
اذا واحد بايت ضرب 10 الالاف يساوي 10 الالاف بايت كمية البيانات المتدفقة عبر الشبكة

الحالة الثانية : حقل المؤهل الدراسي نصي ويتكرر فيه اسم المؤهل وتقريبا الحقل النصي سيأخذ 8 بايت
اذا 8 بايت في 10 الالاف بايت يساوي 80 الف بايت وهي كمية البيانات المتدفقة عبر الشبكة

فهل هذا صحيح ام ان خيالي طفح بعيداً
سلام عليكم

الخيار الاول : اسرع وانسب لعمل الاستعلام (رغم تواجد join ) 
الخيار الثاني : انت مضطر لعمل DISTINCT وهو ما لا ينصح به لانه يبطي الاستعلام 
طبعا نحن نتكلم عن 5 الاف سجل فما فوق ؟ 

عموما : هذه بعض النصائح لتحسين الاستعلام

النصيحة 1: أضف الفهارس
النصيحة 2: تحقق من الفهارس غير المستخدمة
النصيحة 3: تجنب استخدام OR متعددة 
النصيحة 4: استخدم أحرف البدل او العلامة % في نهاية العبارة فقط .
النصيحة 5: تجنب الكثير من عمليات JOINs.
النصيحة 6: تجنب استخدام SELECT DISTINCT.
النصيحة 7: استخدم حقول التحديد بدلاً من التحديد *
النصيحة 8: استخدم TOP لأخذ عينات من نتائج الاستعلام.
نصيحة 10: تقليل من استخدام تلميح الاستعلام اثناء الفلترة (النصيحة 4)
نصيحة 11: اختصر الكود قدر الامكان
....