تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال الى ذوي الخبرة ....أرجو إيفادي من خبراتكم مشكوريين
#1
السلام عليكم و رحمة الله وبركاته

تحية طيب أما بعد,,,

أرجو إيفادي من ذوي الخبرة و التجربه و جزاكم الله عني كل خير

شرح مختصر : لدي هو انه  لدي برنامج بلغة فيجول بيسك 6 و قاعدة بيانات SQL SERVER و قمت بتنزيل قاعدة البيانات على السيرفر موجود بمدينة أخرى و مربوط معه 7 فروع كل فرع بمدينه أخرى.
قاعدة البيانات تحتوي على أكثر من 200 الف Row يقوم البرنامج بالبحث بينها و حساب التكلفة ..الخ , كانت قاعدة البيانات أكسس و تم تحويلها ال SQL SERVER تحسن الأداء قليلا لكن يبقى بطيء.

المشكلة هي البطئ عند العمل على البرنامج , لا أعرف ما الحل لذلك أرجو إيفادي بخبراتكم جزاكم الله عني كل خير.

ها هناك حلول ليعمل بشكل سريع.

أرجو المساعدة إذا أمكن
الرد
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله وبركاته 
اهلا بك اخي رمزي 
بطبيعة الحال الاتصال بقواعد البيانات خاصة على شبكة الانترنت 
لها مدى يزيد ويضعف من قوتها لكننا نحاول قدر المستطاع تجنب البطؤ ببعض الامور منها : 
1. استضافة قوية و يفضل استضافة خاصة فقط لقاعدة البيانات الخاصة بالمشروع 
2. تحرير جمل الاستعلام و جمل الاتصال من حيث فتح القنوات و اغلاقها في كل اجراء
3. استخدام الـ Threading للحفاظ على توازن الاجرات المتدفقة 
هذا درس كامل لكيفية التعامل مع الـ Threading وتوظيفه في المشروع الخاص بنا
  للأخ الحبيب احمد منصور جزاه الله خير الجزاء 


يجب مراعاة الكم الهائل من السجلات حين استدعاؤها حيث من الممكن ان تحتوي بعض الحقول على صور او ملفات
و بالتالي ستكون قراءتها بطيئة جداً على فرض لو قمنا بالاستعلام عن 5000 سجل او اكثر  
بهذه الحالة عند استدعاء سجلات من جدول ما علينا ان نقوم بارجاع بعض منها فقط تابع المقارنة : 

PHP كود :
If Rs.State adStateOpen Then Rs.Close
Rs
.Open "Select *From TB1 Order By ID "dBadOpenStaticadLockOptimistic 
على سبيل الفرض بأن الجدول TB1  يحتوي على 15 حقل 
عند استدعاء البيانات سيقوم بارجاعها كلها بلا استثناء تماماً كما هي في الجدول 
لكن الطريق الصواب بهذه الحالة نقوم بارجاعها بهذا الشكل 
PHP كود :
If Rs.State adStateOpen Then Rs.Close
Rs
.Open "Select ID_TB,Name_TB,Number_TB From TB1 Order By ID "dBadOpenStaticadLockOptimistic 
حيث اننا قمنا بهذه الجملة بارجاع فقط ثلاثة حقول لا غير 
يتم التعامل مع بقية الحقول عند الضرورة ( تقسيمها الى اجزاء ) . 
طريقة اخرى يمكننا اتباعها فرضا لو كانت لدينا كمية كبيرة من السجلات لنفترض عددها 250000 سجل 
PHP كود :
SELECT TOP 50 PERCENT FROM Customers

و هذه الجملة تفيد بارجاع فقط 50 % من الـ 250000 سجل اي نصفها تماماً 
مع مراعاة ضبط السجلات المتدفقة وضبط صيانة قاعدة البيانات بين الحين و الآخر .
بالتوفيق 
وَقُل رَّبِّ اغْفِرْ وَارْحَمْ وَأَنتَ خَيْرُ الرَّاحِمِينَ
الرد
تم الشكر بواسطة: السيد الغالي , السيد الغالي


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [vb6.0] سؤال chaabane 0 278 04-07-20, 01:09 AM
آخر رد: chaabane
  [vb6.0] سؤال في الإستعلام بالتاريخ VB New 5 727 18-11-19, 12:59 PM
آخر رد: asemshahen5
  سؤال عن قص الصورة للخبراء محمد حمد محمد سليمان 0 451 30-07-19, 11:51 PM
آخر رد: محمد حمد محمد سليمان
  عايز سؤال ازاي عملية قراء الاعداد باللغة الانجليزية حامد محمد 4 831 18-01-19, 02:19 PM
آخر رد: حامد محمد
  [سؤال] سؤال يتعلق بموضوع الارشيف الالكتروني ناصر شير 0 698 05-12-18, 03:43 AM
آخر رد: ناصر شير
  سؤال عن إستخدام الصور المتحركة الدالة على التحميل حامد محمد 5 1,181 22-05-18, 04:39 AM
آخر رد: حامد محمد
  [سؤال] سؤال واستفسار عمور2016 5 1,109 05-04-18, 02:57 AM
آخر رد: عمور2016
  سؤال كيفيه ربط موقع انترنت بال vb6 moayad86 1 933 10-03-18, 11:36 AM
آخر رد: Amir_Alzubidy
Rainbow [كود] سؤال في كود استخراج او فتح ملف عمور2016 7 1,480 11-11-17, 03:19 AM
آخر رد: Amir_Alzubidy
  [vb6.0] الأخوة الأعزاء أرجو مساعدتي للضرورة القصوى ....وجزاكم الله تعالى عني كل خير Rami_Mezo 5 1,089 08-11-17, 05:49 PM
آخر رد: Amir_Alzubidy

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم