"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يعتبر استعلام قاعدة بيانات GO/SQL أبطأ بكثير من استعلام PSQL POSTGRES المباشر؟

لماذا يعتبر استعلام قاعدة بيانات GO/SQL أبطأ بكثير من استعلام PSQL POSTGRES المباشر؟

نشر في 2025-02-06
تصفح:399

Why is my Go database/sql Query Significantly Slower Than a Direct Postgres psql Query?
الاستعلام مباشرة باستخدام الأداة المساعدة PSQL Postgres واستخدام حزمة قاعدة البيانات/SQL في تطبيق GO. يمكن أن يعزى هذا التناقض ، حيث يمكن أن يعزى الاستعلامات التي تأخذ المللي ثانية في PSQL عشرات المللي ثانية في GO ، إلى عوامل محددة في التنفيذ.

تقوم قاعدة البيانات/SQL بتهيئة تجمع اتصال لإنشاء اتصالات لقاعدة البيانات ، بدلاً من إنشاء اتصال واحد. التأخير الأولي في تنفيذ الاستعلام في قاعدة البيانات/SQL هو أن التجمع يبدأ بصفر اتصالات مفتوحة. يجب أن يقوم الاستعلام الأول بإنشاء اتصال بالخادم قبل تنفيذ عبارة SQL. هذا يعني أن كل استعلام لاحق يحتاج إلى إنشاء اتصال جديد قبل تنفيذ الاستعلام.

يتم إطلاقها مرة أخرى إلى حمام السباحة بعد كل استعلام. يتضمن إطلاق اتصال يتضمن الاحتفاظ بقيمة الإرجاع الأساسية لـ db.query ثم استدعاء الطريقة الإغلاق عليها.

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

زمن الوصول للشبكة:

التأخير الناجم عن نقل البيانات عبر الشبكة بين التطبيق وقاعدة البيانات.

&&&] يمكن أن يؤثر عبء عمل خادم قاعدة البيانات على أوقات تنفيذ الاستعلام. قاعدة البيانات مباشرة.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3