Laravel Performance मध्ये मास्टर व्हा

तुम्हाला वेगवान वेब ॲप्लिकेशन्सची गरज आहे. संथ ॲप्स वापरकर्त्यांना त्रास देतात आणि तुमच्या व्यवसायाचे नुकसान करतात. "N+1 query problem" मुळे तुमचे Laravel ॲप्स संथ होऊ शकतात. परंतु Laravel कडे याचे एक समाधान आहे: eager loading.

ही पद्धत तुम्हाला with() मेथडमध्ये मास्टर होण्यास मदत करते. तुमचे ॲप्स वेगवान आणि कार्यक्षम कसे ठेवावे हे तुम्ही शिकाल.

चला एक उदाहरण पाहूया. समजा तुमच्याकडे एक ब्लॉगिंग प्लॅटफॉर्म आहे. प्रत्येक पोस्ट एका लेखकाशी (author) संबंधित असते. तुम्हाला प्रत्येक पोस्टसोबत त्या पोस्टचा लेखक दाखवणारी यादी हवी आहे.

एक सामान्य पद्धत म्हणजे सर्व पोस्ट्स मिळवणे आणि त्यानंतर प्रत्येक पोस्टचा लेखक मिळवणे. यामुळे डेटाबेसवर अनेक क्वेरीज (queries) होतात.

जर तुमच्याकडे १०० पोस्ट्स असतील, तर हा कोड १०१ डेटाबेस क्वेरीज करतो. यालाच "N+1 query problem" म्हणतात. यामुळे ओव्हरहेड (overhead) वाढतो आणि तुमचे ॲप संथ होते.

with() मेथड ही समस्या सोडवते. ती सर्व संबंधित मॉडेल्स (models) एक किंवा दोन क्वेरीजमध्ये मिळवते.

तुम्ही याचा वापर असा करू शकता:

$posts = App\Models\Post::with('author')->get();

हा कोड दोन क्वेरीजमध्ये सर्व पोस्ट्स आणि त्यांचे लेखक मिळवतो.

तुम्ही एकापेक्षा जास्त रिलेशनशिप्स (relationships) देखील लोड करू शकता:

$posts = App\Models\Post::with(['author', 'category'])->get();

किंवा रिलेशनशिप्सच्या रिलेशनशिप्स लोड करा:

$posts = App\Models\Post::with('author.profile')->get();

वेगवान Laravel ॲप्स तयार करण्यासाठी eager loading ही महत्त्वाची गोष्ट आहे. ती N+1 query problem दूर करते आणि डेटाबेस क्वेरीज कमी करते.

तुमच्या ॲपची परफॉर्मन्स सुधारण्यासाठी with() मेथडचा वापर करा.

Source: https://dev.to/prabashanadev/mastering-laravel-performance-a-deep-dive-into-eager-loading-22l0