मैं आलसी लोडिंग के बारे में प्रदर्शन समस्याओं के बारे में बहुत कुछ सुनता हूं, इससे कोई फर्क नहीं पड़ता कि एनएचबीरनेट, लिंक ....आलसी लोडिंग वास्तव में खराब है?
समस्या एन + 1 चयन है। उदाहरण, मैं सभी पोस्ट और उसके उपयोगकर्ताओं को चाहता हूं कि मैं आलसी लोड उपयोगकर्ताओं को, मुझे पदों के लिए एक चयन की आवश्यकता है, साथ ही प्रत्येक उपयोगकर्ता के लिए एन चयन करें।
लेज़ी लोड हो रहा है: select .....from post inner join user on post.UserId = user.Id
लेकिन देख एफई उत्पन्न एसक्यूएल, -
1:
1 - - select ....from post
एन select ....from user
"अच्छा" दृष्टिकोण एक में शामिल होने के कर रहा है मुझे एहसास हुआ कि बहुत सारे डेटा बर्बाद हो गए हैं। कल्पना करें कि सभी पोस्ट एक ही उपयोगकर्ता हैं। इनर जॉइन प्रत्येक पोस्ट पंक्ति के लिए सभी उपयोगकर्ता कॉलम लाएगा।
प्रदर्शन में, कौन सा दृष्टिकोण सर्वोत्तम है?
यह एक अच्छा सवाल है - कैसे चुनें - लेकिन मुझे लगता है कि उत्तर डेटा पर बहुत निर्भर करेगा।हालांकि, मुझे लगता है कि आप आश्चर्यचकित होंगे कि आपकी आवश्यकता से अधिक लौटने से कई प्रश्न अक्सर "डेटा बर्बाद" से भी बदतर होते हैं। दूसरे शब्दों में, ऐसे मामले हैं जहां आलसी लोडिंग अच्छी है, लेकिन "ठेठ" अनुप्रयोगों में आश्चर्यजनक रूप से कुछ हैं। –
आपका उत्तर भी आपके ओआरएम पर निर्भर करता है, क्योंकि ईएफ में, आपके उदाहरण का उपयोग करने के लिए, ये केवल दो विकल्प नहीं हैं। –
@ क्रेग स्टंटज़ कौन सा विकल्प? मैं ईएफ 4 –