ציטוט:
נכתב במקור על ידי eLad
אם כבר ענייני יעילות,
שאילתת LIKE היא הפחות מומלצת מבין השאילתות שיכלת לבחור כיוון שהמשמעות שלה היא מעבר על כל השדות ב DB מתוך קליינט חיצוני. הדרך העדיפה יותר היא לייצור SP ולקרוא לו ע"מ לייבא את הנתונים. אם ה DB שלך מאונדקס (index) ובעל יכולת FTS - זכית, השאילתא תתקצר בהרבה יותר.
כאשר מגיע משתמש ממומצע מן השורה ופותח אתר קטן, אין הכרח לשמור נתונים לאחור, שכן אם בחרתי למחוק את החשבון אז כנראה שאני לא אחזור שוב. לכן, מחיקת הנתונים מהמסד תחסוך לא רק מקום אלא גם כסף (מסד גדול = הרבה יותר כסף) וגם זמן (מסד קטן יותר = מעבר על כולו מהר יותר).
אם בכל זאת אתה רוצה לשמור את הנתונים, עדיף לך לייצור טבלה נוספת במסד, תקרא לה למשל tblArchive שתהיה מראה לטבלה הראשית שלך. שם תשמור את כל נתוני הארכיון. איך תעביר את הנתונים? צור משימה מתוזמנת שתרוץ על המסד כל לילה ב 02:00 ותעביר לך את הרשומות. אגב, גם כאן, עדיף לייצר SP ומשימה מתוזמנת ב DB עצמו ולא בדף קליינט כדי לקצר זמני גישה.
כשהטבלה המרכזית שאיתה אתה עובד קטנה יותר, אתה מצליח לעבור על כל הנתונים זריז יותר.
העיקר רצית לצאת חכם,
אלעד
|
נתתי דוגמת LIKE לשאילתה הכי ארוכה, הדוגמה ניתנה על מנת שתעשה השוואה ותראה שאין שום שוני בזמני הביצוע שמורגש מבחינת המשתמש.
דבר שני, אתה יכול להתווכח עד מחר..אבל כמו שאמרתי אתר שמכבד את עצמו לא מוחק נתונים.
לגבי מעבר לטבלה אחרת זה רעיון די טוב חוץ מהעובדה שאם תרצה להחזיר את המשתמש או את הנתונים לשמישות יכול להיות לך כפילויות נתונים שיגרמו לבעיות בשאילתות.