जटिलता के अनुसार BigQuery की शीर्ष क्वेरी
BigQuery में जटिलता स्लॉट खपत से मापी जाती है — निष्पादन के दौरान एक क्वेरी द्वारा उपयोग किए जाने वाले स्लॉट की औसत संख्या। यह क्वेरी सभी क्वेरी को उनके अनुमानित स्लॉट संख्या द्वारा रैंक करती है।
यह क्यों मायने रखता है
उच्च-स्लॉट क्वेरी आपके प्रोजेक्ट में सभी को प्रभावित करती हैं। ऑन-डिमांड मूल्य निर्धारण के तहत वे आपके उचित-हिस्से स्लॉट आवंटन के लिए प्रतिस्पर्धा करती हैं।
यह कैसे काम करता है
अनुमानित स्लॉट संख्या total_slot_ms को मिलीसेकंड में निष्पादन समय से विभाजित करके गणना की जाती है।
SQL क्वेरी
Fill in your details to get a ready-to-run query:
-- Queries ranked by average slot consumption (most compute-heavy first)
DECLARE lookback_days INT64 DEFAULT 14;
WITH jobs AS (
SELECT
user_email,
query,
project_id,
start_time,
end_time,
total_slot_ms,
COALESCE(total_bytes_billed, 0) AS bytes_billed,
TIMESTAMP_DIFF(end_time, start_time, MILLISECOND) AS duration_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
)
SELECT
user_email,
query,
project_id,
start_time,
end_time,
ROUND(SAFE_DIVIDE(total_slot_ms, duration_ms), 0) AS avg_slots,
ROUND(duration_ms / 1000, 1) AS duration_sec,
ROUND(bytes_billed / POW(1024, 4) * 6.25, 2) AS on_demand_cost_usd
FROM jobs
WHERE rn = 1
...क्वेरी व्याख्या
मूल सूत्र SAFE_DIVIDE(total_slot_ms, duration_ms) है। यदि एक क्वेरी ने 100 मिलीसेकंड में 10,000 slot-milliseconds का उपयोग किया, तो उसका अनुमानित स्लॉट संख्या 100 है।
मुख्य अंतर्दृष्टि
>500 स्लॉट वाली क्वेरी अत्यधिक जटिल मानी जाती हैं।
कम बिल किए गए बाइट्स के साथ उच्च स्लॉट संख्या कम्प्यूट-भारी ऑपरेशन सुझाती है।
उच्च बाइट्स के साथ उच्च स्लॉट संख्या डेटा वॉल्यूम और कम्प्यूट दोनों समस्याओं का संकेत देती है।
स्लॉट संख्या की निष्पादन समय से तुलना करें।
सर्वोत्तम प्रथाएं
- 1
मध्यवर्ती तालिकाओं का उपयोग करके बहु-दिशात्मक JOINs को सरल करें।
- 2
जब सटीकता महत्वपूर्ण नहीं है तो COUNT(DISTINCT ...) को APPROX_COUNT_DISTINCT() से बदलें।
- 3
सहसंबंधित उपक्वेरी से बचें — उन्हें JOINs या विंडो फ़ंक्शन के रूप में पुनः लिखें।
- 4
शफल ऑपरेशन को कम करने के लिए JOIN कुंजियों पर क्लस्टरिंग का उपयोग करें।
क्या आप चाहते हैं कि CloudClerk स्वचालित रूप से ये बचत खोजे?
हमारा प्लेटफॉर्म आपके BigQuery प्रोजेक्ट से जुड़ता है, इन विश्लेषणों को स्वचालित रूप से चलाता है और AI-संचालित अनुकूलन सिफारिशें देता है।
संबंधित गाइड
लागत के अनुसार BigQuery की शीर्ष क्वेरी
ऑन-डिमांड लागत के अनुसार सबसे महंगी BigQuery क्वेरी खोजें। सबसे बड़े लागत चालकों की पहचान करने के लिए कुल बिल किए गए बाइट्स द्वारा क्वेरी रैंक करें।
गाइड पढ़ेंअवधि के अनुसार BigQuery की शीर्ष क्वेरी
सबसे लंबे समय तक चलने वाली BigQuery क्वेरी खोजें। उन धीमी क्वेरी की पहचान करें जो संसाधनों को ब्लॉक करती हैं और उपयोगकर्ता अनुभव को प्रभावित करती हैं।
गाइड पढ़ेंआवृत्ति के अनुसार BigQuery की शीर्ष क्वेरी
सबसे बार निष्पादित BigQuery क्वेरी की पहचान करें। कैशिंग, मैटेरियलाइज्ड व्यू या समेकन के लिए उम्मीदवार दोहराई जाने वाली क्वेरी खोजें।
गाइड पढ़ेंमिनट के अनुसार BigQuery स्लॉट उपयोग
मिनट-स्तरीय BigQuery स्लॉट खपत डेटा प्राप्त करें। प्रदर्शन समस्याओं को डीबग करने और बर्स्ट स्लॉट मांग को समझने के लिए आवश्यक।
गाइड पढ़ें