अवधि के अनुसार BigQuery की शीर्ष क्वेरी
लंबे समय तक चलने वाली क्वेरी संसाधनों को बाधित करती हैं, डाउनस्ट्रीम पाइपलाइन में देरी करती हैं, और परिणामों की प्रतीक्षा करने वाले उपयोगकर्ताओं को निराश करती हैं।
यह क्यों मायने रखता है
निष्पादन समय सिर्फ लागत से परे मायने रखता है। 30 मिनट तक चलने वाली क्वेरी एक डेटा पाइपलाइन को ब्लॉक करती है और डैशबोर्ड रिफ्रेश में देरी करती है।
यह कैसे काम करता है
क्वेरी end_time और start_time के बीच TIMESTAMP_DIFF के रूप में निष्पादन समय की गणना करती है। यह seconds-per-GiB अनुपात की गणना भी करती है।
SQL क्वेरी
Fill in your details to get a ready-to-run query:
-- Slowest queries ranked by wall-clock execution time
DECLARE lookback_days INT64 DEFAULT 7;
WITH jobs AS (
SELECT
user_email,
query,
project_id,
start_time,
end_time,
TIMESTAMP_DIFF(end_time, start_time, SECOND) AS duration_sec,
COALESCE(total_bytes_billed, 0) AS bytes_billed,
total_slot_ms,
ROW_NUMBER() OVER (PARTITION BY job_id ORDER BY end_time DESC) AS rn
FROM `your-project`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL lookback_days DAY)
AND job_type = 'QUERY' AND state = 'DONE' AND total_slot_ms IS NOT NULL
),
deduplicated AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY query ORDER BY bytes_billed DESC) AS qrn
FROM jobs WHERE rn = 1
)
SELECT
user_email,
query,
project_id,
start_time,
duration_sec,
ROUND(SAFE_DIVIDE(total_slot_ms, duration_sec * 1000), 0) AS avg_slots,
...क्वेरी व्याख्या
दो स्तर की डीडुप्लिकेशन: पहले job_id द्वारा, फिर क्वेरी टेक्स्ट द्वारा। sec_per_gib मेट्रिक निष्पादन समय को बिल किए गए बाइट्स से विभाजित करती है।
मुख्य अंतर्दृष्टि
10 मिनट से अधिक की क्वेरी संभवतः अविभाजित तालिकाओं को स्कैन कर रही हैं।
उच्च sec_per_gib का मतलब है कि क्वेरी I/O के बजाय कम्प्यूट से सीमित है।
कम sec_per_gib का मतलब है कि क्वेरी जल्दी से बहुत सारे डेटा को स्कैन कर रही है।
पाइपलाइन में लंबे समय तक चलने वाली क्वेरी सभी डाउनस्ट्रीम निर्भरताओं में देरी का कारण बन सकती हैं।
सर्वोत्तम प्रथाएं
- 1
अनियंत्रित क्वेरी को अनिश्चित काल तक संसाधनों का उपभोग करने से रोकने के लिए क्वेरी टाइमआउट सीमाएं सेट करें।
- 2
ETL पाइपलाइनों के लिए, लंबे समय तक चलने वाली मोनोलिथिक क्वेरी को छोटे, चरणबद्ध रूपांतरणों में तोड़ें।
- 3
सबसे धीमे चरणों की पहचान करने और उन्हें विशेष रूप से अनुकूलित करने के लिए EXPLAIN PLAN का उपयोग करें।
- 4
खोजपूर्ण क्वेरी के लिए अनुमानित एकत्रीकरण फ़ंक्शन पर विचार करें।
क्या आप चाहते हैं कि CloudClerk स्वचालित रूप से ये बचत खोजे?
हमारा प्लेटफॉर्म आपके BigQuery प्रोजेक्ट से जुड़ता है, इन विश्लेषणों को स्वचालित रूप से चलाता है और AI-संचालित अनुकूलन सिफारिशें देता है।
संबंधित गाइड
लागत के अनुसार BigQuery की शीर्ष क्वेरी
ऑन-डिमांड लागत के अनुसार सबसे महंगी BigQuery क्वेरी खोजें। सबसे बड़े लागत चालकों की पहचान करने के लिए कुल बिल किए गए बाइट्स द्वारा क्वेरी रैंक करें।
गाइड पढ़ेंजटिलता के अनुसार BigQuery की शीर्ष क्वेरी
स्लॉट उपयोग के अनुसार रैंक की गई सबसे अधिक कंप्यूट-गहन BigQuery क्वेरी खोजें। असंगत कम्प्यूटेशनल संसाधनों का उपभोग करने वाली क्वेरी की पहचान करें।
गाइड पढ़ेंआवृत्ति के अनुसार BigQuery की शीर्ष क्वेरी
सबसे बार निष्पादित BigQuery क्वेरी की पहचान करें। कैशिंग, मैटेरियलाइज्ड व्यू या समेकन के लिए उम्मीदवार दोहराई जाने वाली क्वेरी खोजें।
गाइड पढ़ेंघंटे के अनुसार BigQuery स्लॉट उपयोग
पीक उपयोग विंडो की पहचान करने और आपके आरक्षण शेड्यूलिंग को अनुकूलित करने के लिए घंटावार BigQuery स्लॉट खपत की निगरानी करें।
गाइड पढ़ें