संचयित प्रक्रियांची उच्च कार्यक्षमता आणि सुरक्षा लाभ
मायक्रोसॉफ्ट एस क्यू एल सर्व्हर व्यवस्थापकीय ब्लॉक्समध्ये ट्रान्सएक्शन-एस क्यू एल स्टेटमेंट्स गटबद्ध करून डेटाबेस विकास प्रक्रिया सुलभ करण्यासाठी संचयित प्रक्रिया पद्धती पुरवते. संग्रहीत कार्यपद्धती सर्वात एस क्यू एल सर्व्हर डेव्हलपर्सनी कौतुक करतात ज्यायोगे ते मिळविलेल्या कार्यक्षमता आणि सुरक्षा लाभ वेळेत मोठ्या प्रमाणात गुंतवणुकीस योग्य असतात.
संचयित प्रक्रिया वापरण्याचे फायदे
विकसकाने संग्रहित कार्यपद्धती का वापरली पाहिजे?
या तंत्रज्ञानाचे मुख्य लाभ येथे आहेत:
- Precompiled अंमलबजावणी: SQL सर्व्हर प्रत्येक संग्रहित प्रक्रिया एकदा संकलित आणि नंतर अंमलबजावणी योजना reutilizes. संग्रहीत कार्यपद्धती वारंवार म्हणतात म्हणून या प्रचंड कामगिरी वाढते परिणाम.
- कमीत कमी क्लायंट / सर्व्हर ट्रॅफिक: जर नेटवर्क बँडविड्थ आपल्या वातावरणातील एक चिंता असेल, तर आपण हे जाणून घेण्यास आनंद होईल की संग्रहित प्रक्रिया वायरला वायरवर प्रसारित करणार्या एका ओळीत दीर्घ एस क्यू एल क्वेरी कमी करू शकते.
- कोड आणि प्रोग्रॅमिंग अॅब्स्ट्रॅक्शनचे कार्यक्षम पुनर्वापराचे पुन: वापर : संग्रहीत प्रक्रिया एकाधिक वापरकर्ते आणि क्लायंट प्रोग्राम्सद्वारे वापरल्या जाऊ शकतात. आपण त्यांना नियोजित रीतीने वापरल्यास, आपल्याला विकास चक्र कमी वेळ लागतो.
- वर्धित सुरक्षितता नियंत्रणे: आपण अनुमत सारणी परवानग्या स्वतंत्रपणे संग्रहित केलेल्या कार्यवाहीसाठी वापरकर्त्यांना परवानगी देऊ शकता.
साठवलेले कार्यपद्धती वापरकर्ता-परिभाषित कार्यांसारखे आहेत, परंतु सूक्ष्म फरक आहेत
संरचना
साठवलेले कार्यपद्धती इतर प्रोग्रामिंग भाषांमध्ये दिसणार्या बांधकामाप्रमाणेच आहेत.
ते निष्कर्ष वेळेत निर्दिष्ट केलेल्या इनपुट पॅरामीटर्सच्या स्वरूपात डेटा स्वीकारतात. हे इनपुट पॅरामीटर्स (लागू केले असल्यास) काही परीणामांचे उत्पादन करणाऱ्या स्टेटमेन्टच्या अंमलबजावणीमध्ये वापरण्यात येतात. हा परिणाम एका रेकॉर्डसेट, आउटपुट पॅरामीटर्स आणि रिटर्न कोडच्या वापराद्वारे कॉलिंग वातावरणात परत केला जातो.
त्यास तोंडावाटे वाटेल, परंतु तुम्हाला सापडेल की संचयित प्रक्रिया प्रत्यक्षात अगदी सोपे आहेत.
उदाहरण
या पृष्ठाच्या तळाशी दर्शविलेल्या यादीतील सारणीशी संबंधित एक व्यावहारिक उदाहरण पाहू. ही माहिती वास्तविक वेळेत अद्ययावत केली आहे, आणि वेअरहाऊस मॅनेजर सतत त्यांच्या वेअरहाऊसवर संग्रहित केलेल्या उत्पादनांचे स्तर तपासत आहेत आणि शिपमेंटसाठी उपलब्ध आहेत. भूतकाळात, प्रत्येक मॅनेजर खालीलप्रमाणेच चौकशी करेल:
उत्पादन, संख्या निवडा
सूचीतून
WHERE वेअरहाउस = 'फ्लोरिडा'
यामुळे एस क्यू एल सर्व्हरवर अकार्यक्षम कामगिरी झाली. जेव्हा प्रत्येक वेळी एक वेअरहाऊस मॅनेजरने क्वेरीची अंमलबजावणी केली, तेव्हा डेटाबेस सर्व्हरला पुन्हा कंपाईल करण्याची आणि स्क्रॅचमधून ती अंमलात आणण्यास भाग पाडले गेले. एसइओएलचे ज्ञान असणे आणि टेबलच्या माहितीवर प्रवेश मिळवण्यासाठी योग्य परवान्यासाठी व्हेरिहेर व्यवस्थापकास देखील आवश्यक होते.
त्याऐवजी, संचयित प्रक्रियेच्या वापराद्वारे ही प्रक्रिया सरलीकृत केली जाऊ शकते. येथे sp_GetInventory नावाच्या प्रक्रियेसाठीचा कोड आहे जो दिलेल्या गोदामासाठी इन्व्हेंटरी पातळी प्राप्त करतो.
प्रक्रीया तयार करा sp_GetInventory
@location varchar (10)
AS
उत्पादन, संख्या निवडा
सूचीतून
वेअरहाउस = @location
फ्लोरिडा वेअरहाउस मॅनेजर नंतर कमांडला देऊन इन्व्हेंटरी पातळी मिळवू शकतो:
एक्स्चूटी स्प_ गेस्ट इन्व्हेन्टरी 'फ्लोरिडा'
न्यू यॉर्क वेअरहाऊस मॅनेजर त्या क्षेत्राच्या इन्व्हेंटरीमध्ये प्रवेश करण्यासाठी समान संग्रहित प्रक्रियेचा वापर करू शकतात:
एक्स्चूट sp_GetInventory 'NY'
हे मान्य आहे, हे एक सोपे उदाहरण आहे, परंतु अमूर्तपणाचे फायदे येथे पाहिले जाऊ शकतात. वेअरहाऊस व्यवस्थापकाला एस क्यू एल किंवा प्रक्रियेची आतील कामकाजाची आवश्यकता नाही. कामगिरीच्या दृष्टीकोनातून, संग्रहित प्रक्रिया चमत्कार कार्य करते SQL सर्व्हर एक अंमलबजावणी योजना तयार करतो आणि नंतर तो निष्कर्ष वेळेत योग्य पॅरामीटर्समध्ये प्लगिंग करून तो पुन्हा वापरतो.
आता आपण संग्रहित प्रक्रियेचे फायदे जाणून घेतले आहे, तेथेच जा आणि त्यांचा वापर करा
काही उदाहरणे वापरून पहा आणि वर्धित कामगिरी सुधारणा मोजण्यासाठी-आपण आश्चर्यचकित व्हाल!
इन्व्हेंटरी टेबल
ID | उत्पादन | वेअरहाउस | प्रमाण |
142 | हिरव्या शेंगा | न्यू यॉर्क | 100 |
214 | मटार | फ्लोरिडा | 200 |
825 | कॉर्न | न्यू यॉर्क | 140 |
512 | लिमा सोयाबीनचे | न्यू यॉर्क | 180 |
491 | टोमॅटो | फ्लोरिडा | 80 |
37 9 | टरबूज | फ्लोरिडा | 85 |