استخدم الفهرس يا لوقا! › التخطيط الملموس 89 / 139 السابق التالي

التخطيط الملموس

ليس لـPostgreSQL ذاكرة مؤقتة مشتركة لخطط الاستعلام، لكنه يملك ذاكرة مؤقتة اختيارية لخطط الاستعلام الخاصة بالعبارات المحضَّرة. ويعني ذلك أن المطوّر يملك الخيار بين استخدام عبارة محضَّرة مع ذاكرة مؤقتة لخطة الاستعلام أو بدونها. لكن لاحظ أن الذاكرة المؤقتة تُسقط عند إغلاق العبارة المحضَّرة.

تعرض الأمثلة التالية كيفية استخدام هذه الوظيفة في لغات مختلفة.

Cتوفّر واجهة C الأصلية الدالة PQexecParams، التي تتيح استخدام وسائط الربط أثناء التحضير (خلافاً لـPQprepare).

Java

يتحكم مشغّل PostgreSQL JDBC في التحضير من جهة الخادم عبر الطريقة غير القياسية setPrepareThreshold على PGStatement وPGConnection.

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

تحذير

هناك أطر كثيرة تستخدم ذاكرة مؤقتة لـPreparedStatement — تُضبط عبر prepared-statement-cache-size في إعداد مصدر البيانات. ويعني ذلك أنك قد تصل إلى الحد في أي وقت.

Ruby

تقبل دالة Ruby ‏PGconn.exec وسائط الربط كوسيط اختياري، وتُستخدم القيم أثناء التخطيط إن قُدِّمت. ولدى Jeff Davis مثال.