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

أسرع طريقة لاستدعاء البيانات من قاعدة بيانات ضخمه

مغلق
بدأه MaTaRi في 5 مايو 2006 · 8 رد · 1,350 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

صار لي فتره ابحث عن سرعة استدعاء البيانات من قاعدة بيانات تحتوي على ملايين السجلات

غير جملة

select * from table where

لانها تقوم بتحميل جميع بيانات الجدول حسب الشرط ويتم التأخير

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

وشكرا

#2

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

أخي الكريم يمكنك وضع أو إستعمال الخاصيتين إما

where : لتصفية أو إنتقاء ماتريده فقط أو

Select name , fname , birthdate from table1 where matricule = 10

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

"RepairDatabase " :)

#3

يعطيك العافية اخوي على المعلومه

لكن هل يوجد طريقة اخرى غير select

لاني عندما ارى برامج لمراكز ضخمه جدا فيها مئات الاف الفواتير وعندما يعمل استرجاع للفاتورة يكون الاسترجاع سررررريع جدا

لا أظنهم يستخدمون select

ارجوا الافادة

اكرر شكري لك elhadj

#4

الاستدعاء يكون بجملة Select والسرعة جاءت من الفهارس

سرعة استدعاء البيانات تعتمد على الفهرسة والطريقة الصحيحة لاستخدامها

#5

ربما يكون الفرق في نوع قاعدة البيانات التي يتم الوصول إليها

في المراكز الضخمة لاشك وأنهم يتصلون بقاعدة بيانات تعمل على Server، حيث يتم إجراء عملية الـ Select على الـ Server نفسه، ثم يتم تمرير النتيجة فقط إلى الـ Client أو العميل، وهو ما يعني سرعة أكبر ..

والله أعلم ..

ani.gif
#6

شكرا لكم على الردود

انا استخدم قاعدة بيانات mysql

ومواصفات السيرفر

المعالج 3,2

الرام 2 جيجا

الهارسك 80

الكاش مومري 2 ميجا

وماهو معقوله تكون هذه المواصفات ضعيفه وتعتبر قاعدة البيانات من اسرع قواعد البيانات في التعامل بسرعه مع البيانات

او هل ان نظام الويندوز عندما يكون مثلا 2003 سيرفر يكون اسرع

وهل المراكز الملابس يستخدمون سيرفرات اسرع من هذه

ارجوا الافاده وشكرا

#7

يعطيكم العافية شباب وجدت بعض الحلول المناسبه

شكرا لتعاونكم معي

#8

أخي في الله

اقتباس
يعطيكم العافية شباب وجدت بعض الحلول المناسبه

شكرا لتعاونكم معي

وهل الشكر كافي

ضع الحلول ليستفيد منها كافة أعضاء المنتدى

********************************************************************************

آخر وصايا سيدنا محمد صلى الله عليه وسلم:الصلاة الصلاة وما ملكت أيمانكم

66850879_b6e633000d_m.jpg

هاجر اللذائذ وانبـرى ليثـاً بادغـال الشـرا

بـاع الحيـاة رخيـصـة لله والله اشـتـرى

خذو مني فؤادي وامنحوني سلاحي أمتطي صهو المنون

فإني لم أعش لأذوق ذلاً ولا لأذوب في حضن حنون

موقع الفريق الاسلامي المتحد للبرمجة والإلكترونيات

إيميلي هو:Aboalnoor@maktoob.com

ياهو :adnanalabuo@yahoo.com

هوت ميل:AdnanAlabuo@hotmail.com

مدونتي الخاصة

#9

أخي الكريم

سأعطيك خلاصة الأمر

لو كانت البيانات مسجلة في حقل نصي عادي Text Field فإن أكثر قواعد البيانات فيها خاصية فهرسة Index لهذا الحقل ، ابتداء من قاعدة أكسس وإنت طالع

وعملية الفهرسة تسرع البحث حتى بأمر Select العادي إلى عشرات المرات .

في الغالب أنت تتكلم عن حقل نصي ، لأن الموضوع يتعلق بفواتير وما إلى ذلك ، وحتى لو كانت مليون سجل ، فإنك ستجد الفرق الشاسع في السرعة .

أما لو كانت البيانات مسجلة في حقل Memo , Blob ، فإن هذا الحقل لا تتم فهرسته مباشرة عن طريق قواعد البينات ، إلا في قواعد أوراكل على ما اعتقد ، واعتقد Sql Server ، لكني ليست متأكدا تماما .

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

هنا نستخدم إحدى خورازميات البحث لفهرسة النصوص ، وهذا أمر يحتاج إلى مجلدات لشرحه بالتفصيل .

إذا كنت تتقن اللغة الإنجليزية فعليك بالبحث في الإنترنت حول

Search algorithm

full text search

fast searching

index memo field

ونحو ذلك من العبارات

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…