עבודה עם רשימות גדולות ב-SharePoint
לאחרונה עלה אצלי בעבודה כבר כמה פעמים נושא הרשימות הגדולות ב-SharePoint. כמה פריטים מותר לשים ברשימה או בתיקיה ולשמור על ביצועים טובים?
אז הנה כמה המלצות בנושא:
- לא לעבור את ה-2000 פריטים בתצוגה \ תיקיה
- לאנדקס עמודות שמבצעים עליהן סינונים תדירים
- בפיתוח, בשום אופן לא להשתמש ב-foreach, אלא להריץ שאילתת CAML. תמיד שאילתת CAML תהיה מהירה יותר מאנומרציה של אובייקטים.
הנה תמונה מתוך Whitepaper שאספר עליו בהמשך. היא מציגה הבדלי מהירות שאילתא בין השיטות השונות. מדובר על רשימה עם 100,000 פריטים, שרוצים לדלות ממנה 100 פריטים, תוך כדי שיש עומס על האתר, וללא עמודות מאונדקסות. ניתן לראות ששימוש בשאילתת CAML במסגרת SPQuery היא הרבה יותר מהירה מאשר foreach, שהזמן שלקח לו חרג מהגרף ולכן כלל לא מופיע בו.
המסקנה היא פשוטה: מי שרוצה להשתמש ב-SharePoint כבסיס נתונים מרכזי ולאחסן ברשימה אחת כמות פריטים גדולה כל כך, חייב לכתוב ממשק תצוגה משלו, על מנת לשמור על ביצועים סבירים.
למי שרוצה להתעמק, מומלץ לקרוא שני מסמכים חשובים:
דור רוטמן.