מבוא ליעילות

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

 

תכנון אפליקצית SQL אופטימלית

הדבר הראשון אותו יש לקחת בחשבון בזמן תכנון אפליקצית SQL הוא היכן ימוקם קוד הריצה של האפליקציה. האם רוב העבודה תבוצע ע"י האפליקציה או השרת? ברוב המקרים רצוי כי  הקוד שמעורב בשירותי נתונים ובשירותים עסקים ימצא על השרת עצמו. ללא תלות באובייקטי הממשק בהן משתמשת האפליקציה (OLE DB, ADO , וכ"ו) עליך לוודא שהשימוש בהם מתבצע בצורה יעילה ללא יצירה של תקורה מיותרת ופגיעה בביצועים. רצוי שתשתמש בפרופיילר (profiler )  של שרת ה - SQL  על מנת לבחון את התנועות הנוצרות ע"י האפליקציה שלך, ולאבחן את הנקודות הפוגעות ביעילות האפליקציה, אותן רצוי ליעל.

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


 

רצוי להשתמש בתכונות (features) הבאות של SQL Server כדי לשמור על שלמות הנתונים באופן אוטומטי:

  • השתמש באילוצי בדיקה (Check constrains) על מנת להבטיח ערכי עמודות תקינים.
  • ממש מפתח ראשי (Primary key) ואילוצים ייחודיים להבטיח חוסר כפילות שורות.
  • השתמש באילוצי ברירת מחדל (Defaults) ואילוצי ערך אמיתי (Not NULL) כדי לוודא שערכי העמודות המתאימים הוכנסו.  
  • ממש אילוצי מפתח זר (Foreign key)  כדי להבטיח ששורות בטבלאות תלויות אינן מיותמות והן בעלות ערך מתאים בטבלה הראשית.
  • השתמש בטיפוסי נתונים מוגדרי משתמש (user-defined) לצורך הגדרת עמודות בצורה עקבית.
  • השתמש עמודות בעלות חותמת זמן (Timestamp) לשם בדיקת נכונות של נתונים בין עדכונים של משתמשים.

 

  חזרה לתחילת הפרק


 

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