السلام عليكم ورحمة الله تعالى وبركاته
حصل معي مشكل عندما كنت اود القيام بعملية بحث في قاعدة بيانات تحتوي على 40ألف سجل بيانات،
عملية البحث تستغرق مدة طويلة جدا مع ثقل البرنامج وتعطيله عند البحث...
هل من طريقة نافعة؟
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
حاول ان تعمل Pack للقاعدة لكي تتخلص من السجلات المحذوفة
وبعدها ReIndex اعد الأدلة الفريدة
-
ان كنت تستخدم المكون TTable فاسرع وسيلة للبحث هي Locate
-
او استعمل Query للبحث احسن
والسلام عليكم ورحمة الله
المشاركات : 93
المواضيع 19
:
: 0
الإنتساب : Feb 2008
20-04-2008, 05:09 PM
(آخر تعديل لهذه المشاركة: 20-04-2008, 05:12 PM بواسطة xinofix.)
لا شك وأنك تستعمل قاعدة بيانات Paradox
وفي هذه الحالة لامفر من المرور بمحرك BDE الثقيل
وبالنظر إلى العدد الكبير للسجلات، فإنه لا مناص من أن تصادف مشكل البطء
هذا إن لم تصادف إنهيار المشروع فيما بعد
أحسن طريقة للتخفيف هي إستعمال الفلتر
لاينصح باستخدام Paradox في برامج كبيرة
أنصحك بما يلي: Absolute - CodeBase - Apollo - Elevate - MySQL ...
[ أنظر هنا وقارن
كود :
http://www.codebase.com/products/perfstats.php
http://www.componentace.com/bde_replacement_database_delphi_absolute_database.htm
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
DBF ليس قواعد بيانات Paradox وانما DBase الشهيرة في الثمانينات على ايام DOS
وجود DBF ليس دليل حتى على استعمال محرك BDE اذ يمكن التعامل مع DBF باستخدام مكونات اخرى
بالنسبة لعدد السجلات والانهاير فهذا راجع للمبرمج وطريقة تصميم قواعده
اعطيك مثال: لدي برنامج تستخدمه جهة حكومية منذ سنة 2001 ولم يحدث به اي مشكل
مع العلم انه يتم اضافة الاف السجلات كل 21 يوم
اخيرا لا نرمي كل مرة اللوم على BDE والعيب فينا
والسلام عليكم ورحمة الله
المشاركات : 115
المواضيع 10
:
: 0
الإنتساب : Feb 2008
و عليكم السلام و رحمة الله
لتسريع البحث عليك بتعطيل الكائنات التي تقوم بعرض بيانات القاعدة كـDBEdit1 ... في وقت البحث مثلا
كود :
Table1.DisableControls;
أمر البحث
Table1.EnableControls;
أو
كود :
Datasource1.Enabled:=False;
أمر البحث
Datasource1.Enabled:=True;
إقتباس :[FONT=Arial]لا شك وأنك تستعمل قاعدة بيانات Paradox
[FONT=Arial]وفي هذه الحالة لامفر من المرور بمحرك BDE الثقيل
[FONT=Arial]وبالنظر إلى العدد الكبير للسجلات، فإنه لا مناص من أن تصادف مشكل البطء
[FONT=Arial]هذا إن لم تصادف إنهيار المشروع فيما بعد
إلى الآن مازالت كودجير متمسكة به في إصدارها الأخير لـ 2007 و أنا إلى الآن لم أجد معه مشاكل إلا مشكل حماية البيانات بكلمة المرور الذي اكتشفته مؤخرا و خطأ سجلات الـBlobs في حالة تغيير المتحوياتها.
من تشبه بقوم فهو منهم
المشاركات : 2
المواضيع 1
:
: 0
الإنتساب : Apr 2008
السلام عليكم
فقط اضافة شيء: لتسريع البحث في قاعدة البيانات لا بد من اضافة دليل وحيد Index وهو الاسلوب الامثل لتسريع قاعدة البيانات
المشاركات : 3
المواضيع 1
:
: 0
الإنتساب : Feb 2008
اتبع ما نصح به الاخ مهدي
حاول الا تستعمل في مشروعك كائنات DB مثلا استعمل Edit مكان DBNEdit
اذا اردت اخال تسجيلات عن طريق Edit اكتب
كود :
table1.fieldbyname('nom').asstring:=edit1.text
او
كود :
table1.fieldvalues['nom']:=edit1.text