मुझे डेटाबेस से कुल उपलब्ध qty की गणना करने की आवश्यकता है, और इसके लिए मुझे कुछ तालिकाओं के साथ जुड़ने की आवश्यकता है। मैं अपने पूरे क्वेरी पेस्ट कर सकते हैं नहीं है, लेकिन बुनियादी संरचना निम्नलिखित है:इस क्वेरी की तुलना में तेज़ी से मात्रा की गणना करें
select sum(qty) as qty, field
from
(
(
select SUM(table1.qty) as qty , field
from
table1
left join table2 on table1.field = table2.field
left join table3 on table3.field = table2.field
where condition
group by fieldname
)
UNION ALL
(
selecy SUM(table1.qty) as qty,field
from
table1
left join table2 on table1.field = table2.field
left join table3 on table3.field = table2.field
where condition
group by fieldname
)
UNION ALL
(
select SUM(table1.qty) as qty, field
from
table1
left join table2 on table1.field = table2.field
left join table3 on table3.field = table2.field
where condition
group by fieldname
)
...
..
12 times
) as temp
LEFT JOIN another_main_table ON another_main_table.field = temp.field
मैं प्रत्येक तालिका के अनुक्रमित का ध्यान रखा गया है, लेकिन वहाँ कुछ यूनियनों जो अपेक्षा से अधिक समय समय ले रहे हैं कर रहे हैं। इस क्वेरी में लगभग 45 टेबल उपयोग किए जाते हैं और सभी की पूरी तरह से जांच की जाती है। कुछ तालिकाओं में लगभग 2.6 मिलियन रिकॉर्ड हैं। क्या आप कृपया मुझे सुझाव दे सकते हैं कि मैं परिणाम 1/2 सेकंड में कैसे प्राप्त कर सकता हूं? अभी तक मुझे परिणाम लगभग एक मिनट में मिल रहा है।
यह स्पष्ट नहीं है कि आप इस क्वेरी के साथ क्या करने की जरूरत। क्या टेबल 1, टेबल 2, टेबल 3 सभी प्रश्नों में समान हैं? यदि ऐसा है तो 'WHERE कंडीशन 1 या कंडीशन 2 या ..... ' – valex
के साथ एक क्वेरी का उपयोग करें यह एक बदसूरत क्वेरी हो सकती है, लेकिन आपको अधिक पूर्ण क्वेरी पोस्ट करने की आवश्यकता हो सकती है। यदि आपको यहां स्वीकार करने के लिए बहुत बड़ा है तो आपको पेस्टबिन.com जैसे कुछ ऑफ-साइट स्थान पर पोस्ट करने की भी आवश्यकता हो सकती है। – DRapp
हे .. सभी टेबल तालिका 1, तालिका 2, तालिका 3 अलग हैं। मुझे पता है कि क्या मैं यहां प्रश्न पेस्ट कर सकता हूं, यह मुझे मार्गदर्शन करना अधिक आसान होगा .. लेकिन यहां प्रश्न पोस्ट नहीं कर सकता क्योंकि .. मुझे डेटाबेस और तालिकाओं के बारे में जानकारी प्रकट नहीं करने के लिए बाध्य किया गया है :(क्षमा करें। –