مرحبًا،
نحن نستضيف منتدى Discourse الخاص بنا على Azure باستخدام مثيل “Azure Database for PostgreSQL”. تتمثل إحدى مزايا هذه الخدمة في توصيات الأداء المبنية على “خصائص قاعدة البيانات” والاستخدام.
منذ الانتقال إلى Azure، تلقينا بعض التلميحات حول فهارس مفقودة يُفترض أنها زائدة عن الحاجة، وأود مشاركتها معكم.
لاحظنا زيادة طفيفة (ليست كبيرة) في الأداء العام بعد إنشاء هذه الفهارس المفقودة، لكننا لم نتمكن من تطبيق توصيات DROP INDEX لأنها قد/ستؤدي على الأرجح إلى تعطيل التحديثات القادمة أو عمليات ترحيل قاعدة البيانات. على أي حال، لا يمكننا الجزم فيما إذا كانت هذه الفهارس آمنة للحذف أم أنها ستؤثر سلبًا على الأداء.
فيما يلي الفهارس التي اقترحها Azure علينا إنشاؤها (تأثير “منخفض” و"متوسط"):
create-indexes.csv (1.5 KB)
أما فيما يتعلق بتوصيات الفهارس “المغطاة بالفعل”:
ملخص
احذف الفهرس
index_optimized_images_on_upload_idمن الجدولpublic.optimized_images.
السبب: الفهرس مغطى بواسطةindex_optimized_images_on_upload_id_and_width_and_height.
احذف الفهرس
index_post_revisions_on_post_idمن الجدولpublic.post_revisions.
السبب: الفهرس مغطى بواسطةindex_post_revisions_on_post_id_and_number.
احذف الفهرس
post_timings_summaryمن الجدولpublic.post_timings.
السبب: الفهرس مغطى بواسطةpost_timings_unique.
احذف الفهرس
index_topic_links_on_topic_idمن الجدولpublic.topic_links.
السبب: الفهرس مغطى بواسطةunique_post_links.
احذف الفهرس
index_post_uploads_on_post_idمن الجدولpublic.post_uploads.
السبب: الفهرس مغطى بواسطةidx_unique_post_uploads.
ينبغي التعامل مع توصيات “الحذف” هذه بحذر، إذ أعتقد أنها ستؤثر فقط على الحجم الإجمالي لقاعدة البيانات بدلاً من تحسين الأداء. على سبيل المثال: يستهلك كامل قاعدة بياناتنا حوالي 120 جيجابايت، وستؤدي كل هذه التوصيات إلى تحرير 422 ميجابايت فقط. تحدد Azure نفسها تأثير ذلك بأنه “منخفض”. لذا يبدو أن الأمر لا يتعدى كونه عملية تنظيف.
كما ذكرت أعلاه، أردت فقط مشاركة هذا معكم لأنه قد يساعد في تحسين الأداء قليلاً. وبالإضافة إلى هذه الفهارس، لم يقدم Azure أي توصيات أخرى طوال الفترة التي نستخدم فيها خدماتهم.
مع أطيب التحيات،
ساسكا