106
GB
What is BULK COLLECT and FORALL in PL/SQL and how do they improve performance?
IN
PL/SQL में BULK COLLECT और FORALL क्या हैं और वे प्रदर्शन में सुधार कैसे करते हैं?
A
BULK COLLECT: fetches multiple rows from a cursor into a collection in a single context switch. FORALL: executes a DML statement for all elements of a collection in a single context switch. Both minimize expensive PL/SQL-to-SQL engine context switches
थोक संग्रह: एक संदर्भ स्विच में कर्सर से कई पंक्तियों को एक संग्रह में लाता है। FORALL: एकल संदर्भ स्विच में संग्रह के सभी तत्वों के लिए DML कथन निष्पादित करता है। दोनों महंगे पीएल/एसक्यूएल-टू-एसक्यूएल इंजन संदर्भ स्विच को कम करते हैं
B
Features for parallel query execution
समानांतर क्वेरी निष्पादन के लिए सुविधाएँ
C
Features for handling encrypted data
एन्क्रिप्टेड डेटा को संभालने की सुविधाएँ
D
Features for managing large text data
बड़े टेक्स्ट डेटा को प्रबंधित करने की सुविधाएँ
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English)
Context switch overhead: each PL/SQL FETCH or DML in a loop = one switch between PL/SQL and SQL engines. For 10,000 rows: 10,000 switches. BULK COLLECT: fetch all rows in one switch. FORALL: execute 10,000 DML in one switch. 100-1000x faster for bulk operations.
व्याख्या (हिन्दी)
संदर्भ स्विच ओवरहेड: एक लूप में प्रत्येक PL/SQL FETCH या DML = PL/SQL और SQL इंजन के बीच एक स्विच। 10,000 पंक्तियों के लिए: 10,000 स्विच। थोक संग्रहण: सभी पंक्तियों को एक स्विच में लाएँ। FORALL: एक स्विच में 10,000 डीएमएल निष्पादित करें। थोक संचालन के लिए 100-1000 गुना तेज।