إلى ماذا ترجع سرعة برنامج قواعد البيانات؟
#1
السلام عليكم ورحمة الله وبركاته.
هل سرعة برنامج قواعد البيانات ترجع الى نوع مكونات الاتصال IBX FireDac  Zeoslib....
ام الى نوع قواعد البيانات firebird mysql..
وبارك الله فيكم.
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#2
السلام عليكم ورحمة الله وبركاته

كنت بصدد طرح سؤال شبيه به ولكن بشكل مختلف وهو
هل زيادة الخدمات في قواعد البيانات يجعلها اكثر بطئاً مثل الاجراءات المخزنة والقوادح والعلاقلات وما الى ذلك .
ما الذي يجعل Mysql سريعة بحسب قول البعض هل لانها لاتحتوي على ما ذكرنا .
حسب اعتقادي ان الاجراءات المخزنة او القوادح لا تبطئ قاعدة البيانات وبل تجعلها اكثر سرعة في التنفيذ
ولو كان هناك شئ يبطئها فهو العلاقات التي يتم تنفيذها بداخلها .
وبالتالي الاستعلامات المعقدة التي تنتج عنها فيما بعد
علاقة جدول الى جدول قد تكون بسيطة ولكن لو تخيلنا شبكة من العلاقات فسوف يكون الامر فيه بطئ واضح في التنفيذ
في الفايربيرد هناك شاشة تقوم باحتساب زمن التنفيذ لكل وحدة على حدة وتحسب كل صغيرة وكبيرة في برنامج IBexpress غالبا الجاء اليها لارى نتيجة الاجراءات المخزنة والاستعلامات التي نفذتها لو كانت نسبة تشغيلها مثلا على 100 سجل 35 مليي ثانية احاول ان اضربها في العدد المتوقع من السجلات فيما بعد وارى النتيجة .
هناك امور اخرى لم ادرسها وانما اكتشفتها بالممارسة
السرعة غالبا تكون بطيئة لان المستخدم لا يفكر بشكل صحيح او يستخدم قواعد البيانات بشكل غير صحيح
مثلا لا اضيف الى جدول بيانات موجودة بجدول اخر من برنامجي وانما من قاعدة البيانات نفسها لان البيانات سوف تنتقل الى الجهاز الذي اعمل عليه تم ارتبها واعيدها الى الجهاز السيرفر وهنا نقل للبيانات لا يوجد داعي له .
مثلا عندي داتا قريد تعوض عن ارقام ID باسماءها فكل ما عرضتها قام البرنامج بجلب الاسماء من جديد
انا تفاديا لذلك اجلب هذه البيانات في برنامجي ولا استدعيها مرة اخرى الا اذا تم تحديثها فقط
وهناك الكثير من الامور التي ربما لا اذكرها الان
كل بيانات تجلبها باستمرار الى برنامجك اجلبها مرة واحدة فقط
وكل بيانات تخزنها بقاعدة البيانات من جدول الى جدول ارسل المتغيرات فقط وخزنها من هناك
وعلى العموم حسب ما قرأت هناك مكونات هي اسرع من اخرى وهذا شئ طبيعي فالخبرة تختلف من شخص الى اخر وفي تعامل كل واحد مع البيانات
وهناك قواعد بيانات اسرع من الاخرى لان المبرمج ايضا تختلف خبرته من شخص الى اخر وعليه لابد وان يكون فيما بينها اسرع واثبت او حتى اسهل
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد
#3
السلام عليكم
اهمية Indexes و طريقة التعامل معها من طرف المبرمج
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#4
السلام عليكم
كل قواعد البيانات و مكونات دلفي التي ذكرت جيدة ويمكن تطوير/برمجة تطبيقات/برامج رائعة بها
مربط الفرس انك عندما تختار قاعدة/مكون عليك بهظم كل التوثيق المتوفر من الالف الى الياء
مثال مبرمج يستخدم Firebird من غير المعقول الايعرف الفرق بين Classic و SuperServer ومتى تثبيت ذلك او ذاك، او الفرق بين Char و VarChar.

عامة عندما تكون السرعة غير مجدية عليك بالProfiling لمعرفة سبب ذلك.

هناك امور كثيرة تاخذ بعين الاعتبار قد تبدو لك لاعلاقة لها لكنها تؤثر.
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد


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


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