Char נגד Varchar
Char ו-Varchar הם סוגי נתוני תווים נפוצים במערכת מסד הנתונים שנראים דומים למרות שיש הבדלים ביניהם בכל הנוגע לדרישות האחסון. בעיצוב מסדי נתונים, יש הרבה סוגי נתונים בשימוש. מתוכם, סוגי נתוני תווים מקבלים מקום בולט יותר מכיוון שהם משמשים לאחסון מידע רב בהשוואה למספרים. סוגי נתוני תווים משמשים לאחסון תווים או נתונים אלפאנומריים במחרוזות. סוג ערכת התווים של מסד הנתונים מוגדר בעת יצירת מסד הנתונים. שוב, מבין סוגי נתוני התווים הללו, Char ו- Varchar הם הנפוצים שבהם.מאמר זה מסביר מהם שני סוגי הנתונים הללו, char ו-varchar, וההבדל ביניהם.
מה זה צ'אר?
הגדרת ISO של char היא תו וסוג הנתונים char משמש לאחסון תו. Char (n) יכול לאחסן n גודל קבוע של תווים. המספר המרבי של תווים ש-char (n) יכול להכיל הוא 255 תווים ואורך המחרוזת חייב להיות ערך מ-1 עד 8000. Char הוא מהיר יותר בחמישים אחוז מ-varchar, ולכן, אנו יכולים לקבל ביצועים טובים יותר כאשר אנו עובדים עם לְהַשְׁחִיר. Char משתמש בהקצאת זיכרון סטטי בעת אחסון נתונים. כאשר אנו רוצים לאחסן מחרוזות באורך קבוע ידוע, עדיף להשתמש ב-char. כדוגמה, כאשר מאחסנים 'כן' ו'לא' בתור 'Y' ו-'N', אנו יכולים להשתמש בסוג הנתונים char. וגם כאשר שומרים את מספר תעודת הזהות הלאומית של אדם עם עשרה תווים, אנו יכולים להשתמש בסוג הנתונים כ-char (10).
מה זה Varchar?
כפי שהשם מרמז, varchar נקרא תו משתנה. Varchar משמש לאחסון נתונים אלפאנומריים בעלי אורכים משתנים. המספר המרבי של תווים שסוג נתונים זה יכול להכיל הוא 4000 תווים וגודל האחסון המרבי הוא 2 GB. גודל האחסון של varchar הוא האורך האמיתי של הנתונים בתוספת שני בתים. Varchar הוא איטי יותר מ-char והוא משתמש בהקצאת זיכרון דינמית בעת אחסון נתונים. אנו יכולים להשתמש ב-varchar בעת אחסון נתונים כגון שמות, כתובות, תיאורים וכו'. ניתן לאחסן לא רק מחרוזות, אלא גם סוגים שאינם מחרוזים כגון סוגי תאריכים, "12 במרץ 2015", "2015-03-12" סוג הנתונים של varchar.
מה ההבדל בין צ'אר ל-Varchar?
• למרות ש-char ו-varchar הם שדות נתוני תווים, char הוא שדה נתונים באורך קבוע ו-varchar הוא שדה נתונים בגודל משתנה.
• Char יכול לאחסן רק תווי מחרוזת בגודל קבוע שאינם Unicode, אבל Varchar יכול לאחסן גדלים משתנים של מחרוזות.
• Char עדיף על varchar עבור נתונים המשתנים לעתים קרובות. הסיבה לכך היא ששורת הנתונים באורך קבוע אינה נוטה להתפצלות.
• Char יתפוס רק את החלל הקבוע שמוגדר בעת הצהרת המשתנה. אבל varchar יתפוס את החלל על סמך הנתונים שיוכנסו וגם הוא יתפוס 1 או 2 בתים בתור קידומת האורך.
• אם הנתונים הם פחות מ-255 תווים, 1 בתים מוקצה ואם הנתונים הם יותר מ-255 תווים, 2 בתים שמורים. אם נשתמש ב-char כדי לאחסן דגל של 'Y' ו-'N', הוא ישתמש ב-Byte אחד לאחסון, אך כאשר אנו משתמשים ב-varchar יידרש שני בתים כדי לאחסן את הדגל, כולל בייט נוסף בתור קידומת האורך.
סיכום:
Char נגד Varchar
Char ו-varchar הם סוג נתוני התווים הנפוצים ביותר הזמין במסדי נתונים. Char משמש לאחסון מחרוזת באורך קבוע ואילו varchar משמש לאחסון מחרוזות בעלות אורך משתנה.על מנת לקבל ביצועים טובים יותר מהנתונים, חשוב יותר לבחור את סוגי הנתונים הנכונים עבור שדות הטבלאות במסד הנתונים שלך. נוח יותר להשתמש בסוגי הנתונים הקטנים ביותר שיכולים לאחסן נכון את הנתונים, מכיוון שהם לוקחים פחות מקום מהזיכרון.