الإجابة
query_log في قاعدة البيانات system جميع استعلاماتك، بما في ذلك:
- مقدار الذاكرة التي استهلكها الاستعلام، و
- مقدار وقت CPU الذي استغرقه
يمثّل
initial_query_id معرّف الاستعلام الأوّلي لتنفيذ الاستعلام الموزّع الذي يُطلَق من العقدة التي تستقبل الطلب. ويحتوي query_id على معرّف الاستعلام الفرعي الذي يُنفَّذ على عقدة أخرى. راجع هذه المقالة لمزيد من التفاصيل.youtube (راجع مجموعة بيانات عدم الإعجاب على YouTube):
initial_query_id مقابل query_id
initial_query_id معرّف الاستعلام الأوّلي لعملية تنفيذ الاستعلام الموزّع التي تبدأ من العُقدة التي تستقبل الطلب؛
بينما يحتوي الحقل query_id على معرّف الاستعلام الفرعي الذي يُنفَّذ على عُقدة أخرى.
التنفيذ الموزّع ليس السبب الوحيد لاختلاف قيم
query_idيمكن للاستعلام الواحد أيضًا أن يولّد استعلامات فرعية داخلية تُسجَّل بمعرّف query_id خاص بها وبالقيمة is_initial_query = 0 — وأكثرها شيوعًا الاستعلامات الداخلية التي يشغّلها ClickHouse لتقييم العروض. يعيّن ClickHouse هذه المعرّفات الداخلية، وقد لا تتبع التنسيق نفسه الذي يُبلَّغ إلى عميلك؛ وفي الخطوات المرتبطة بالـ view قد ترى قيم query_id تتضمن وسمًا مثل queryView.... وعندما تريد الاستعلام كما أرسلته تمامًا، صفِّ النتائج باستخدام is_initial_query = 1 (أو query_id = initial_query_id). هذا سلوك من جهة الخادم لـ query_log، وهو نفسه بغضّ النظر عن العميل المستخدم، بما في ذلك Cloud SQL Console.query_id إلى الاستعلام أعلاه، فإننا نحصر بحثنا حول initial_query_id = a7262fa2-bd8b-4b51-a359-621ccf282417 وhostname():
query_id != initial_query_id إلى عبارة WHERE:
query_id = initial_query_id فقط الاستعلامات التي نُفِّذت على العقدة المحلية التي أُطلق منها الاستعلام الموزّع أول مرة: