الوصف
يحتوي هذا الجدول على بيانات تنميط على مستوى المعالجات (والتي يمكنك العثور عليها في EXPLAIN PIPELINE).
الأعمدة
hostname(LowCardinality(String)) — اسم مضيف الخادم الذي ينفّذ الاستعلام.event_date(Date) — التاريخ الذي وقع فيه الحدث.event_time(DateTime) — التاريخ والوقت اللذان وقع فيهما الحدث.event_time_microseconds(DateTime64(6)) — التاريخ والوقت بدقة الميكروثانية اللذان وقع فيهما الحدث.id(UInt64) — معرّف المعالج.parent_ids(Array(UInt64)) — معرّفات المعالجات الأصلية.plan_step(UInt64) — معرّف خطوة خطة الاستعلام التي أنشأت هذا المعالج. تكون القيمة صفراً إذا لم يُضَف المعالج من أي خطوة.plan_step_name(String) — اسم خطوة خطة الاستعلام التي أنشأت هذا المعالج. تكون القيمة فارغة إذا لم يُضَف المعالج من أي خطوة.plan_step_description(String) — وصف خطوة خطة الاستعلام التي أنشأت هذا المعالج. تكون القيمة فارغة إذا لم يُضَف المعالج من أي خطوة.plan_group(UInt64) — مجموعة المعالج إذا أُنشئ بواسطة خطوة من خطة الاستعلام. والمجموعة هي تقسيم منطقي للمعالجات المضافة من خطوة خطة الاستعلام نفسها. ولا تُستخدم المجموعة إلا لتحسين عرض نتيجة EXPLAIN PIPELINE.initial_query_id(String) — معرّف الاستعلام الأوّلي في سلسلة الاستعلام نفسها.query_id(String) — معرّف الاستعلام.name(LowCardinality(String)) — اسم المعالج.elapsed_us(UInt64) — عدد الميكروثواني التي استغرقها تنفيذ هذا المعالج.input_wait_elapsed_us(UInt64) — عدد الميكروثواني التي انتظر فيها هذا المعالج البيانات (من معالج آخر).output_wait_elapsed_us(UInt64) — عدد الميكروثواني التي انتظر فيها هذا المعالج لأن منفذ الإخراج كان ممتلئاً.input_rows(UInt64) — عدد الصفوف التي استهلكها المعالج.input_bytes(UInt64) — عدد البايتات التي استهلكها المعالج.output_rows(UInt64) — عدد الصفوف التي أنتجها المعالج.output_bytes(UInt64) — عدد البايتات التي أنتجها المعالج.processor_uniq_id(String) — المعرّف الفريد للمعالج ضمن PIPELINE.step_uniq_id(String) — المعرّف الفريد للخطوة في الخطة.
مثال
EXPLAIN PIPELINE
SELECT sleep(1)
┌┌─name────────────────────┬─elapsed_us─┬─input_wait_elapsed_us─┬─output_wait_elapsed_us─┐
│ ExpressionTransform │ 1000497 │ 2823 │ 197 │
│ LazyOutputFormat │ 36 │ 1002188 │ 0 │
│ LimitsCheckingTransform │ 10 │ 1002994 │ 106 │
│ NullSource │ 5 │ 1002074 │ 0 │
│ NullSource │ 1 │ 1002084 │ 0 │
│ SourceFromSingleChunk │ 45 │ 4736 │ 1000819 │
└─────────────────────────┴────────────┴───────────────────────┴────────────────────────┘هنا يمكنك ملاحظة ما يلي:
- كان
ExpressionTransformينفّذ الدالةsleep(1)، لذا فإنworkسيستغرق 1e6، وبالتاليelapsed_us> 1e6. - يحتاج
SourceFromSingleChunkإلى الانتظار، لأنExpressionTransformلا يقبل أي بيانات أثناء تنفيذsleep(1)، لذا سيبقى في الحالةPortFullلمدة 1e6 us، وبالتاليoutput_wait_elapsed_us> 1e6. - تحتاج
LimitsCheckingTransform/NullSource/LazyOutputFormatإلى الانتظار إلى أن ينفّذExpressionTransformالدالةsleep(1)لمعالجة النتيجة، لذا فإنinput_wait_elapsed_us> 1e6.