"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > من المطور إلى المراجع: قائمة مرجعية للمطورين المبتدئين لمراجعة استعلامات قاعدة البيانات

من المطور إلى المراجع: قائمة مرجعية للمطورين المبتدئين لمراجعة استعلامات قاعدة البيانات

تم النشر بتاريخ 2024-11-08
تصفح:809

كمطور، من الضروري تقديم تعليمات برمجية عالية الجودة ليست وظيفية فحسب، بل مُحسّنة أيضًا للأداء. على مدى السنوات الثلاث التي أمضيتها في مجال المطورين، انتقلت من دور المطور العملي إلى دور المراجع. أحد المجالات الرئيسية التي ركزت عليها أثناء المراجعات هو تحسين استعلام قاعدة البيانات.

لماذا التركيز على استعلامات قاعدة البيانات؟
يمكن أن تؤثر استعلامات قاعدة البيانات بشكل كبير على أداء التطبيق. يمكن للاستعلام المكتوب بشكل جيد جلب البيانات بكفاءة، في حين أن الاستعلام المكتوب بشكل سيء يمكن أن يؤدي إلى زيارات زائدة لقاعدة البيانات، مما يؤدي إلى إبطاء النظام بأكمله. باعتبارك مطورًا مبتدئًا، قد تتساءل عن كيفية تقييم أداء هذه الاستعلامات أثناء مراجعات التعليمات البرمجية. هذه هي قائمة التحقق الخاصة بي.

قائمة مرجعية لمراجعة استعلامات قاعدة البيانات

  1. عدد زيارات قاعدة البيانات:

    • الخطوة الأولى هي تحديد عدد زيارات قاعدة البيانات التي يتم إجراؤها بواسطة جزء من التعليمات البرمجية. يمكن أن تؤدي كل نتيجة إلى قاعدة البيانات إلى إضافة زمن الوصول، لذا فإن عدد الزيارات الأقل يعني عمومًا أداءً أفضل.
    • نصيحة احترافية: استخدم استعلامات اتصال Django وreset_queries لتتبع عدد الاستعلامات المنفذة والوقت المستغرق لكل منها. على سبيل المثال: From Developer to Reviewer: A Junior Developer
  2. تقليل عدد الزيارات:

    • بمجرد معرفة عدد النتائج، فإن الخطوة التالية هي معرفة ما إذا كان بإمكانك تقليلها. يمكن تقليل عدد زيارات قاعدة البيانات غالبًا عن طريق تحسين الاستعلامات أو دمج استعلامات متعددة في استعلام واحد.
    • التقنيات الرئيسية:
      • التحميل البطيء مقابل التحميل المتلهف: افهم متى يتم تقييم الاستعلام. يؤدي التحميل البطيء إلى تأخير الاستعلام حتى تصبح البيانات مطلوبة فعليًا، ولكن قد يؤدي ذلك إلى مشكلة استعلام N 1. يؤدي التحميل السريع، باستخدام تحديد_مرتبط أو الجلب المسبق، إلى جلب الكائنات ذات الصلة في استعلام واحد، مما يقلل إجمالي عدد النتائج.
      • الانضمامات: إذا كنت بحاجة إلى بيانات من الجداول ذات الصلة، ففكر في استخدام استعلامات الانضمام. إن تحديد_الخاص بـ Django (للعلاقات الرئيسية الخارجية) والجلب المسبق (للعلاقات المتعددة أو العكسية للمفاتيح الخارجية) هم أصدقاؤك هنا.
  3. تجنب الاستعلامات المتكررة:

    • التحقق من وجود استعلامات متكررة، حيث يتم تنفيذ نفس الاستعلام عدة مرات. يمكن تجنب ذلك غالبًا عن طريق تخزين النتيجة مؤقتًا أو إعادة هيكلة الكود.
    • مثال: بدلاً من الاستعلام عن كائن ذي صلة داخل الحلقة، قم بإحضار كافة الكائنات ذات الصلة مرة واحدة قبل الحلقة.
  4. اعتبارات الذاكرة:

    • على الرغم من أهمية تقليل عدد زيارات قاعدة البيانات، ضع في اعتبارك أيضًا استخدام الذاكرة. يمكن أن يؤدي تحميل مجموعة بيانات ضخمة في الذاكرة إلى إبطاء تطبيقك أو تعطله. تهدف إلى سحب السجلات/البيانات التي تحتاجها فقط.

خاتمة
تعد مراجعة استعلامات قاعدة البيانات للأداء مهارة تتطور مع الوقت والخبرة. كمطور مبتدئ، ابدأ بالتركيز على الأساسيات — حساب عدد مرات الوصول إلى قاعدة البيانات وإيجاد طرق لتقليلها. أدوات مثل Connection.queries، وreset_queries، وميزات ORM الخاصة بـ Django لا تقدر بثمن في هذه العملية. وبمرور الوقت، ستكتسب حدسًا لاكتشاف مشكلات الأداء بمجرد النظر إلى التعليمات البرمجية. وحتى ذلك الحين، اعتمد على الأدوات والتقنيات التي تمت مناقشتها هنا لإرشادك.

نصائح إضافية:

  1. فهم خطة التنفيذ: تعمق أكثر من خلال فهم خطة تنفيذ SQL التي تم إنشاؤها بواسطة استعلامات ORM الخاصة بك. يمكن أن تساعدك أدوات مثل EXPLAIN في SQL على فهم كيفية قيام محرك قاعدة البيانات الخاص بك بتنفيذ الاستعلامات، والتي يمكن أن توفر رؤى حول التحسينات المحتملة.

نصيحة للمطورين الجدد:
للبدء في مراجعة أكواد الآخرين، لا تحتاج إلى معرفة كل تدفق للنظام. ابدأ بمراجعة الأشياء الصغيرة مثل جودة التعليمات البرمجية والتحسين. ابدأ بإجراء التمريرة الأولى، مع التركيز على الأساسيات، وفي النهاية، ستصبح مراجعًا رائعًا.
أيضًا، أثناء المراجعة، حاول أن تكون مهذبًا ومفيدًا في تعليقاتك بدلاً من أن تكون متعجرفًا. تذكر أن الهدف هو تحسين الكود ومساعدة فريقك، وليس فقط الإشارة إلى الأخطاء.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/aman-giri/from-developer-to-reviewer-a-junior-developers-checklist-for-reviewing-database-queries-4kdm?1 إذا كان هناك أي انتهاك يرجى الاتصال بـ Study_golang @163.comdelete
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3