EXPLAIN (ANALYZE, BUFFERS) ...الأداة المفضلة لديك للتعرف على ميزات نظام إدارة قواعد البيانات هذا ، فستكون "الرقائق" الجديدة المفيدة لخدمتنا لتصور وتحليل الخطط شرحًا. tensor.ru مفيدة بالتأكيد في هذه المهمة الصعبة.
لكن دعني أذكرك على الفور أنه بدون المراقبة الشاملة الكاملة لقاعدة بيانات PostgreSQL ، فإن استخدام تحليل الخطة فقط هو الذي يعمل من موقع الحكيم رقم 5!

[ مصدر KDPV ، "The Blind and the Elephant" ]
, 1940
, ,
.
,
,
, .
, —
.
,
:
—
!
,
,
, ,
.
,
,
,
.
نشأ فتنة بين العمي
واستمرت سنة كاملة.
ثم قام العميان أخيراً
بتحريك أيديهم.
وبما أن الخامس كان قوياً
- أغلق فم الجميع.
والآن يتكون الفيل من
ذيل واحد!
لذلك ، اليوم في البرنامج:
- تغيير "شيفرون" إلى "أحزمة الكتف"
- نحن نجمع الخطط "الضخمة"
- نحتفظ بأرشيف شخصي
- دراسة نسب الخطط
- يطل في "النوافذ"
ليس لون واحد!
تاريخيًا ، عند عرض الخطة ، قمنا بتمييز العقد "الأكثر سخونة" بعلامة "شيفرون" رأسية على يسار القيمة - فكلما ارتفعت القيمة ، زاد ثراء اللون.
ولكن في مثل هذا النموذج ، يتم إدراك نسبة القيم بشكل سيئ - على سبيل المثال ، لا يمكن ملاحظة الانحراف بنسبة 30 ٪ في اختلاف الظلال إلا من خلال العين المدربة. لذلك ، قمنا بعمل رسم بياني من "أحزمة الكتف" الأفقية.
إحصائيات مفيدة للخطط "الضخمة"
كثير من الناس لا يلاحظون علامة التبويب "الإحصائيات" في الخطة ، فهنا على اليمين:
وبغض النظر عن أي شخص لاحظ ذلك. قررنا تصحيح هذا الإغفال وجعله مفيدًا حقًا لتحليل الخطط "الكبيرة" (أكثر من 100 عقدة).
عقد التجميع
يتم تجميع جميع عقد الخطة "المتطابقة" (أي تلك التي لها نفس نوع العقدة والجدول المستخدم والفهرس) في صف جدول واحد. في هذه الحالة ، يتم تلخيص جميع مؤشراتهم (وقت التنفيذ ، وعدد السجلات المقروءة والمهملة ، وإجمالي عدد مرات المرور وكمية البيانات التي تمت قراءتها).
وللتوضيح ، يحمل كل نوع عقدة تسمية ملونة:
- الأحمر - قراءة البيانات
العقدSeq Scan،Index Scan،CTE Scanوأخرى مختلفة... Scan - أصفر -
عقد معالجة البياناتSort،Unique،Aggregate،Group،Materialize، ... - الأخضر -
عقد الاتصالNested Loop،Merge Join،Hash Join، ...
الفرز حسب أي مؤشر
إذا احتجت فجأة إلى تحليل ليس حسب الوقت الإجمالي ، ولكن حسب نوع العقدة ، على سبيل المثال - فقط انقر فوق رأس العمود - وسيكون كل شيء:
تلميح العقدة السياقية
لفهم مساهمة عقدة معينة في مجموعة بالتفصيل ، مرر مؤشر الماوس فوق عدد أي منها - وسترى التلميح التقليدي لما حدث هناك بالضبط:
أرشيف شخصي للخطط
"بدون تسجيل و SMS!"إذا كنت تستخدم خدمتنا بنشاط ، فسيكون من الأسهل الآن العثور على خططك التي تم تحليلها مسبقًا - ما عليك سوى التبديل إلى علامة التبويب "خاصتي" في الأرشيف . تقع الخطط هنا بغض النظر عن النشر في الأرشيف العام وتكون مرئية لك فقط.
علم الأنساب من الخطط
في السابق ، كان من الصعب جدًا العثور على خطط محددة في الأرشيف ، والآن أصبح الأمر بسيطًا. يمكن تسميتها وتجميعها في "شجرة عائلة" الأمثل!
ما عليك سوى تحديد اسم عند إضافة خطة:
... أو على خطة حالية ، يمكنك تعيينها أو تعديلها أو إضافتها إلى خطة مرتبطة:
بعد ذلك يمكنك التبديل بسرعة عبر شجرة الخيارات لتقييم تأثير بعض التحسينات:
وإذا كان هناك رابط لخطة معينة فجأة ضائع ، يمكن التعرف عليه بسهولة من خلال اسمه في أرشيفه الشخصي:
ندرس في "النوافذ"
تحسين صغير ولكنه مفيد لملف تعريف الاستعلام ، والذي كتبته سابقًا - لقد علمناه "النظر في النوافذ" والتخطيط بشكل صحيح لتخطيط العقد:
-> WindowAgg ==> WINDOW / OVER
-> Sort ==> PARTITION BY / ORDER BY
... مثل العديد من التعريفات المستقلة "للنافذة" (
WINDOW) في استعلام واحد:
... والفرز في وظائف النافذة بدون تعريف واضح:
البحث السعيد عن أوجه القصور المختلفة!