मैं जो समानांतरवाद का प्रयोग कर एक का चयन करें SQL क्वेरी, इसक्या हम गतिशीलता की डिग्री गतिशील रूप से निर्दिष्ट कर सकते हैं?
INSERT/*+ APPEND PARALLEL (tst, 6) */ INTO test_table tst
(
**************
**************
**************
)
SELECT /*+ PARALLEL (a, 6) */ DISTINCT
**************
**************
**************
FROM src_table a;
की तरह कुछ है डिग्री हार्ड-कोडेड आप यहाँ देख सकते हैं, मैं है, लेकिन, मुझे क्या करना नहीं चाहते हैं कि, की संख्या के बाद से सीपीयू सभी डीबी में समान नहीं हैं जहां यह कोड निष्पादित किया जाता है।
My requirement:
मैं उपलब्ध सीपीयू गिनती के लिए V$PARAMETER
क्वेरी और अपनी क्वेरी में result-2
के रूप में मान का उपयोग करने की जरूरत है। कुछ इस तरह ...
DECLARE
degree varchar2(1);
BEGIN
select value-2 INTO degree from v$parameter where name='cpu_count';
INSERT/*+ APPEND PARALLEL (tst, degree) */ INTO test_table tst
(
**************
**************
**************
)
SELECT /*+ PARALLEL (a, degree) */ DISTINCT
**************
**************
**************
FROM src_table a;
END;
लेकिन, यह काम कर रहा है नहीं के रूप में मैं यह उम्मीद होने के लिए और मैं 32 समानांतर धागे देखते हैं, उपलब्ध CPU की परवाह किए बिना। क्या यह करने का सही तरीका है? यदि नहीं, तो मेरी आवश्यकता के लिए कोई अन्य समाधान है?
डैन .... मैं इस विकल्प को कैसे चूक गया। धन्यवाद ओली। – Vivek