تحليل تكاليف BigQuery حسب الاستعلام
يمنحك هذا الاستعلام رؤية سطراً بسطر لكل تنفيذ استعلام في مشروعك، بما في ذلك تكلفته عند الطلب واستخدام الفتحات ومدة الفوترة. هذا هو أكثر استعلامات تحليل التكاليف تفصيلاً — مثالي للتعمق في الاستعلامات الباهظة الثمن بشكل فردي.
لماذا يهم هذا
تُخبرك عروض التكاليف المجمّعة (حسب المستخدم أو التسمية) على مستوى عالٍ أين يذهب المال، لكن لحل المشكلة فعلياً تحتاج إلى رؤية الاستعلامات الفردية. يتيح لك هذا التفصيل حسب الاستعلام تحديد عبارات SQL المحددة التي تستهلك أكثر الموارد وتحديد أولويات التحسينات ذات أعلى عائد على الاستثمار.
كيف يعمل
يقرأ الاستعلام من INFORMATION_SCHEMA.JOBS_BY_PROJECT ويحسب عدة مقاييس تكلفة لكل تنفيذ استعلام: العدد التقريبي للفتحات والتكلفة عند الطلب (بناءً على البايتات المفوترة) وساعات الفتحات المفوترة (لمقارنة Editions) وعدد التنفيذات. كما يطبّق قواعد الحدّ الأدنى لفوترة BigQuery — حدّ أدنى 10 MiB لكل استعلام ومدة دقيقة واحدة على الأقل لـ Editions.
استعلام SQL
Fill in your details to get a ready-to-run query:
-- Per-query cost breakdown with slot and duration metrics
DECLARE lookback_days INT64 DEFAULT 7;
WITH base_jobs AS (
SELECT
project_id,
query,
start_time,
end_time,
COALESCE(total_bytes_billed, 0) AS bytes_billed,
total_slot_ms,
TIMESTAMP_DIFF(end_time, start_time, MILLISECOND) AS duration_ms,
ROUND(SAFE_DIVIDE(total_slot_ms,
TIMESTAMP_DIFF(end_time, start_time, MILLISECOND)), 2) AS avg_slots
FROM `your-project`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL lookback_days DAY)
AND state = 'DONE' AND total_slot_ms IS NOT NULL
),
with_billing AS (
SELECT *,
CEIL(avg_slots / 100) * 100 AS billed_slots,
GREATEST(duration_ms, 60000) / 3.6e6 AS billed_hours,
GREATEST(bytes_billed, 10 * POW(1024, 2)) AS billed_bytes
FROM base_jobs
),
freq AS (
SELECT query, COUNT(*) AS exec_count FROM base_jobs GROUP BY query
)
SELECT
...شرح الاستعلام
يحسب الاستعلام العدد التقريبي للفتحات بقسمة total_slot_ms على وقت التنفيذ. يطبّق قواعد الحدّ الأدنى لفوترة BigQuery: حدّ أدنى 10 MiB من البايتات ومدة دقيقة واحدة على الأقل. يُقرَّب عدد الفتحات إلى أقرب 100 (يطابق زيادات المقياس التلقائي). تُحسب التكلفة عند الطلب بـ 6.25 دولار/TiB، وتُحسب ساعات الفتحات لمقارنة تكلفة Editions.
رؤى أساسية
الاستعلامات ذات التكلفة العالية عند الطلب لكن الفتحات القليلة تمسح الكثير من البيانات — تحتاج إلى مرشّحات قسم أو تشذيب أعمدة.
الاستعلامات ذات ساعات الفتحات العالية لكن البايتات المفوترة المنخفضة مكلفة حسابياً — ابحث عن JOINs المعقدة أو DISTINCT أو وظائف النافذة.
الاستعلامات ذات عدد التنفيذات العالي هي مرشحة لتخزين النتائج المؤقت أو طرق العرض المادية.
قارن on_demand_cost_usd مع slot_hours لتحديد نموذج الفوترة الأرخص لكل استعلام.
أفضل الممارسات
- 1
ركّز جهد التحسين على أعلى 10 استعلامات من حيث التكلفة — فهي تمثّل عادةً 60-80% من إجمالي الإنفاق.
- 2
للاستعلامات المتكررة التنفيذ، فكّر في تحقيق النتائج أو استخدام BI Engine.
- 3
استخدم EXPLAIN لفهم خطة تنفيذ الاستعلام قبل التحسين وبعده.
- 4
اضبط تنبيهات تلقائية للاستعلامات التي تتجاوز عتبة التكلفة.
هل تريد من CloudClerk إيجاد هذه الوفورات تلقائياً؟
تتصل منصتنا بمشروع BigQuery الخاص بك وتُشغّل هذه التحليلات تلقائياً وتقدّم توصيات التحسين المدعومة بالذكاء الاصطناعي — مع إخفاء هوية بياناتك بالكامل.
أدلة ذات صلة
تحليل تكاليف BigQuery حسب المستخدم
اكتشف أي المستخدمين يولّدون أكبر إنفاق على BigQuery. استعلم عن INFORMATION_SCHEMA لترتيب المستخدمين حسب التكلفة عند الطلب وتحديد أهداف التحسين.
اقرأ الدليلتحليل تكاليف BigQuery حسب التسمية
قسّم تكاليف BigQuery حسب تسميات المهام. اعزُ الإنفاق إلى فرق أو خطوط أنابيب أو ميزات باستخدام أزواج المفتاح والقيمة على مهامك.
اقرأ الدليلأعلى استعلامات BigQuery تكلفةً
ابحث عن أغلى استعلامات BigQuery من حيث التكلفة عند الطلب. رتّب الاستعلامات حسب إجمالي البايتات المفوترة لتحديد أكبر محرّكات التكاليف.
اقرأ الدليلأكثر استعلامات BigQuery تكراراً
حدّد الاستعلامات الأكثر تنفيذاً في BigQuery. ابحث عن الاستعلامات المتكررة المرشحة للتخزين المؤقت أو طرق العرض المادية أو الدمج.
اقرأ الدليل