आपका दृष्टिकोण स्मृति समस्याओं को जन्म देगा। सबसे तेज़ तरीका यह होगा [अशक्त परिदृश्य की देखभाल के लिए डेविड की टिप्पणी के बाद संपादित प्रश्न]:
insert into dtr_debtors1(SSN)
select a.S1+level
from dual,(select nvl(max(ssn),0) S1 from dtr_debtors1) a
connect by level <= 10000
एक चुनिंदा इंसर्ट सबसे तेज़ तरीका है क्योंकि सब कुछ रैम में रहता है। यह क्वेरी धीमी हो सकती है अगर यह ग्लोबल टेम्प एरिया में खिसक जाती है लेकिन फिर इसके लिए डीबी ट्यूनिंग की जरूरत होती है। मुझे नहीं लगता कि इससे तेज कुछ हो सकता है।
क्वेरी द्वारा स्मृति उपयोग पर कुछ और विवरण:
प्रत्येक क्वेरी का अपना पीजीए [प्रोग्राम ग्लोबल एरिया] होगा जो मूल रूप से प्रत्येक क्वेरी के लिए उपलब्ध रैम है। यदि यह क्षेत्र क्वेरी परिणामों को वापस करने के लिए पर्याप्त नहीं है तो SQL इंजन गोलबल टेम्प टेबलस्पेस का उपयोग करना शुरू कर देता है जो हार्ड डिस्क की तरह होता है और क्वेरी धीमी होने लगती है। यदि क्वेरी के लिए आवश्यक डेटा इतना बड़ा है कि अस्थायी क्षेत्र भी पर्याप्त नहीं है तो आपको टेबलस्पेस त्रुटि होगी।
इसलिए हमेशा क्वेरी डिज़ाइन करें ताकि वह पीजीए में रहे अन्यथा यह एक लाल झंडा है।