تسجيل الدخول

مشاهدة النسخة كاملة : بخصوص قواعد بيانات دلفي


انيس حمام
2013-07-11, 23:58
عندي قاعدة بيانات و اريد تحديث حقل الى قيمة معينة و لكن قاعدة البيانات تحتوي على حوالي 20000 سجل و عملية التحديث تستغرق زمما كبيرا و اريد ان ابحث دالة لتسريع تحديث قيمة الحقل
و هذه الدالة التي استعملتها في عملية التحديث و لكن تستغرق اكثر من 45 دقيقة
table1.First;
while not table1.Eof do
begin
table1.Edit;
table1.fieldbyname('cle').value:=(((table1.fieldby name('N_COMPT').value div 10000000)*11));
table1.Next;
end;
end;
فهل من طريقة جديدة او دالة تساعد على اسراع عملية التحديث

خليل صلاح
2013-07-13, 00:08
لا اعرف كثيرا عن قواعد البيانات ،
و لكنني اعتقد ان تسريع البحث في القاعدة ,,,استعمل الاندكس index

انيس حمام
2013-07-16, 00:21
هل من رد او حل يا اخوتي و جزاكم الله خيرا

طيباوي ابو علي1
2013-07-18, 17:43
بسم الله الرحمن الرحيم
الصلاة السلام على رسول الله

Table1.DisableControls;
ضع كودك كاملا هنا
ينفد في رمشت عين
Table1.EnableControls;

__الهاوي__
2013-07-18, 18:35
يمكن استخدام la recherche dichotomique
ابحث عنها في النت، فهي تجد الشيء المبحوث عنه في جدول مفرز بسرعة كبيرة جدا والأجمل أن العملية يدوية تستطيع أن تتحكم فيها
مبدأ عملها أنها تقسم الجدول إلى قسمين مقارنة بالقيمة المبحوث عنها وتختار الجزء المراد
ثم تقسم الجزء المراد إلى نصفين (يعني البحث في ربع الجدول)
ثم تقسم الجزء المراد إلى نصفين (يعني البحث في ثمن الجدول)
ثم 1/16 ثم 1/32 ثم 1/64....
يعني حسابيا
إن كان جدولك يحوي 1024 أي 2أس10 فإنها تستهلك 10 عمليات
إن كان جدولك يحوي حولي مليون سجل أي 2أس20 فإنها تستهلك 20 عملية
إن كان جدولك يحوي حولي مليار سجل أي 2أس30 فإنها تستهلك 30 عملية
فقط يشترط لنجاح هذا العمل أن تكون البيانات مفرزة (trié)

رمضان كريم