פרוצדורות מאוחסנות

נהלים מאוחסנים לספק יעילות גבוהה והטבות אבטחה

Microsoft SQL Server מספק את מנגנון הפרוצדורה המאוחסנת כדי לפשט את תהליך הפיתוח של מסד הנתונים על-ידי הקבצה של הצהרות Transact-SQL לבלוקים ניתנים לניהול. נהלים מאוחסנים מוערכים על ידי רוב מפתחי SQL Server אשר מוצאים את היעילות ואת היתרונות האבטחה שהם לקצור הם שווים את ההשקעה upfront בזמן.

יתרונות השימוש בהליכים מאוחסנים

מדוע על מפתח להשתמש בהליכים מאוחסנים?

הנה היתרונות העיקריים של הטכנולוגיה הזו:

נהלים מאוחסנים דומים לפונקציות המוגדרות על ידי המשתמש, אך יש הבדלים מתוחכמים.

מִבְנֶה

נהלים מאוחסנים דומים למבנים שנראים בשפות תכנות אחרות.

הם מקבלים נתונים בצורה של פרמטרים קלט שנקבעו בזמן ביצוע. פרמטרים אלה קלט (אם מיושם) מנוצלים בביצוע סדרה של הצהרות המייצרות תוצאה כלשהי. תוצאה זו מוחזרת לסביבת השיחה באמצעות ערכת רשומות, פרמטרים של פלט וקוד החזרה.

זה אולי נשמע כמו פה, אבל תמצא כי נהלים מאוחסנים הם למעשה די פשוט.

דוגמא

הבה נבחן דוגמה מעשית הקשורה לטבלה בשם המלאי המוצגת בתחתית הדף. מידע זה מתעדכן בזמן אמת, ומנהלי מחסן בודקים כל הזמן את רמות המוצרים המאוחסנים במחסן שלהם וזמינים למשלוח. בעבר, כל מנהל יפעיל שאילתות דומות לאלו:

בחר מוצר, כמות
ממלאי
WHERE Warehouse = 'FL'

זה הביא לביצועים לא יעילים ב- SQL Server. בכל פעם שמנהל מחסן ביצע את השאילתה, שרת מסד הנתונים נאלץ לערוך מחדש את השאילתה ולבצע אותה מאפס. זה גם נדרש מנהל המחסן יש ידע של SQL והרשאות מתאימות לגשת למידע השולחן.

במקום זאת, ניתן לפשט את התהליך באמצעות שימוש בהליך מאוחסן. הנה הקוד לפרוצדורה הנקראת sp_GetInventory שאוחזרת את רמות המלאי עבור מחסן נתון.

ליצור הליך sp_GetInventory
@location varchar (10)
כפי ש
בחר מוצר, כמות
ממלאי
איפה מחסן = @ מיקום

מנהל המחסן בפלורידה יכול לגשת לרמות המלאי על ידי הנפקת הפקודה:

EXECUTE sp_GetInventory 'FL'

מנהל המחסן בניו יורק יכול להשתמש באותו הליך מאוחסן כדי לגשת המלאי של האזור:

EXECUTE sp_GetInventory 'NY'

אמנם, זוהי דוגמה פשוטה, אבל את היתרונות של הפשטה ניתן לראות כאן. מנהל המחסן אינו צריך להבין את SQL או את פעולתו הפנימית של הפרוצדורה. מנקודת מבט ביצועים, הליך מאוחסן עובד פלאים. SQL Server יוצר תוכנית ביצוע פעם אחת ולאחר מכן מאחסן אותה מחדש על ידי חיבור הפרמטרים המתאימים בזמן הביצוע.

עכשיו לאחר שלמדת את היתרונות של נהלים מאוחסנים, לצאת לשם ולהשתמש בהם.

נסה כמה דוגמאות ולמדוד את שיפורים בביצועים מושגת, אתה תהיה מופתע!

טבלת מלאי

תְעוּדַת זֶהוּת מוצר מַחסָן כַּמוּת
142 שעועית ירוקה ניו יורק 100
214 אפונה פלורידה 200
825 תירס ניו יורק 140
512 שְׁעוּעִית לִימָה ניו יורק 180
491 עגבניות פלורידה 80
379 אבטיח פלורידה 85