כמה נקודות ותיקון קטן
קודם כל אומר שאין אפשר לקבוע "כדאי" או "לא כדאי" כשאין לנו אפיון אפשר להציג לך יתרונות וחסרונות אבל כשאיות אני יכול להגיד לך שהרבה פעמים התשובה כן והרבה פעמים לא.. וזה לא יעזור כמובן כמה נקודות: * עומרי כתב: שמירת הנתיב הפיזי של התמונה בדיסק גם יכולה לשמש אותך בעת מחיקה נכון אבל גם שימוש בתמונה במסד מאפשרת מחיקה ואז המחיקה תהיה של התוכן גם ולא היהי צורך בפעולה כפולה שיכולה לגרור סתירות (למשל קובץ שנמחק ובמסד לא או הפוך ומנסיון זו בעיה לא קטנה כשמי שיש לו הרשאות למסד הנתונים הוא איזה ילד שחושב שהוא מבין משהו או שיש מספר אנשים שלא עובדים בתיאום) * עומרי כותב: מה גם שבמידה ותרצה לאפשר שימוש בנתונים (למשל באמצעות החצנת XML) לא תוכל לתת ייצוג של התמונה זה לא נכון ! אפשר לבצע ייצוג של תמונה ואפילו חיפושים לפי תכנים של שדות בינאריים כמו בתמונה או אפילו יפוש בקובץ וורד למשל ששומרים במסד הנתונים הרבה יותר בקלות דווקא מאשר בקבצים פיזיים כתבתי על זה לפני כמה זמן בפורום כאן או בפורום של מסדי נתונים עם דוגמאות ואפילו מי ששאלה את השאלה מצא סירטון נהדר אחר כך ושם שם את הקישור חפש חומר על FULL TEXT SEARCH * עומרי כתב: בכל מקרה לא מדובר בחסכון שכן השרת צריך לעבד את הנתונים בכל פעם מחדש בכדי להציג את התמונה במקום פשוט לשלוף אותה מהדיסק זה לא נכון
אם שומרים את התמונה בצורה בינארית במסד הנתונים הרי אין שום עיבוד יותר מאשר קריאה מהקובץ! הקובץ הוא בינארי בדיוק באותה מידה והתכונה קוראת את הנתונים באותה צורה ההבדל היחיד הוא שיש תוספת של תעבורה ועבודה בין מסד הנתונים ל IIS. אם מסד הנתונים שלך כבד ויש לך בעיות של זכרון או שהוא בכלל עובד איטי אז למה לערב אותו בתהליך. זה למשל החיסרון הגדול ואולי היחיד הרציני שיש בשמירה במסד הנתונים אני רוצה להדגיש שוב שזה חיסרון גדול מאוד לעיתים! משאבי מחשב הם דבר יקר
הייתרונות רבים: אפשרויות חיפוש דווקא הרבה יותר קלות כולל חיפושים בתכנים הבינאריים עצמם (למשל בקבצי MP3 אתה יכול ממש לבצע חיפוש ב SQL של רשימת השמעה של הקובץ או משהו כזה), ייתרון נוסף זה