PDA

View Full Version : سوال: چند سوال در مورد نوع داده ها



Jason.Bourne
یک شنبه 04 مرداد 1388, 22:18 عصر
میزان فضایی که برای ذخیره سازی مورد استفاده قرار می گیرد به چه شکل است؟
مثلا یک فیلد از نوع int که طول اون 11 باشه:

1- چقدر فضا برای ذخیره سازی استفاده میکنه؟

p_ooya
دوشنبه 05 مرداد 1388, 10:11 صبح
در اینجا (http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html) می تونید سایز فیلدهای مختلف رو پیدا کنید. اما در محاسبه دقیق طول رکورد باید چند نکته رو هم در نظر داشت. مثلاً وقتی شما یه فیلد از نوع char دارید و یکی از نوع varchar ، به منظور ایجاد سازگاری، Mysql نوع char رو به صورت خودکار به varchar تبدیل می کنه (منبع (http://www.htmlite.com/mysql003.php)).

Jason.Bourne
دوشنبه 05 مرداد 1388, 11:41 صبح
یعنی اگر یک فیلد داشته باشیم که از نوع int باشه و طول آن 11 باشه:
1- فضای مورد نیاز برای هر رکورد 44 بایت است؟
2- اگر در همین فیلد مقداری را ذخیره کنیم که کمتر از 11 رقم باشد، باز هم 44 بایت فضا در اختیار آن فیلد قرار میگیرد؟

p_ooya
دوشنبه 05 مرداد 1388, 12:23 عصر
نه !
منظورتون رو از int به طول 11 درست متوجه نشدم ولی فرض می کنم که منظورتون اینه عددتون 11 رقمیه. ببینید، نوع داده int با گرفتن 4 بایت میتونه از 2147483648- تا 2147483647 رو به صورت علامتدار و از 0 تا 4294967295 رو به صورت بی علامت نگه داره. در نتیجه اگه فرض من درمورد 11 رقمی بودن عدد درست باشه، پس int نوع مناسبی نیست و شما باید از نوع داده bigint استفاده کنید. محدوده : (منفی 9223372036854775808 تا 9223372036854775807) و بی علامت از 0 تا 18446744073709551615 . این نوع هم 8 بایته و مفهومش اینه که اگه شما یه عدد 1 رقمی، 11 رقمی یا 19 رقمی رو در این فیلد ذخیره کنی، در هر سه صورت باید براش 8 بایت اختصاص بدی.

Jason.Bourne
دوشنبه 05 مرداد 1388, 13:58 عصر
نه !
منظورتون رو از int به طول 11 درست متوجه نشدم ...

در هنگام ایجاد جدول توسط phpMyAdmin و تعریف فیلد ها، یکی از خصوصیات فیلدها، "Length" هستش.

منظورم من همین Length بود.



اگه شما یه عدد 1 رقمی، 11 رقمی یا 19 رقمی رو در این فیلد ذخیره کنی، در هر سه صورت باید براش 8 بایت اختصاص بدی.

با این تفاصیل، حتی اگر این فیلد خالی هم باشد و مقداری را در آن ذخیره نکنم، باز هم 8 بایت از فضا مصرف شده است. درسته؟
به این خصوصیت چی میگن؟ (کلمه کلیدی لطفا :لبخندساده:)

afi_program
یک شنبه 01 شهریور 1388, 11:32 صبح
نه فیلد خالی فضایی اشغال نمیکنه.primary key درست فهمیدم؟

Jason.Bourne
دوشنبه 02 شهریور 1388, 15:57 عصر
نه فیلد خالی فضایی اشغال نمیکنه.primary key درست فهمیدم؟

چی؟ :متعجب:

afi_program
دوشنبه 02 شهریور 1388, 18:13 عصر
چی را نفهمیدی؟؟؟
فیلد خالی فضا اشغال نمیکنه.
کلمه کلیدی(key word)

Jason.Bourne
دوشنبه 02 شهریور 1388, 20:31 عصر
رابطه فیلد خالی و "primary key" را نفهمیدم.

afi_program
سه شنبه 03 شهریور 1388, 18:48 عصر
رابطه ای نداره!!!
به این خصوصیت چی میگن؟ (کلمه کلیدی لطفا :لبخندساده:)
منظورت چی بود؟من فکر کردم پرسیدی کلمه کلیدی چی میشه ببخشید اگه اشتباه فهمیدم.

Jason.Bourne
سه شنبه 03 شهریور 1388, 22:54 عصر
رابطه ای نداره!!!

رابطه ای داره؟




منظورت چی بود؟من فکر کردم پرسیدی کلمه کلیدی چی میشه ببخشید اگه اشتباه فهمیدم.
منظورم این بود که چند کلمه کلیدی در مورد اینکه "وقتی فیلد خالی باشد، باز هم فضا اشغال میکند" به من معرفی کنید تا خودم جستجو کنم.

afi_program
پنج شنبه 05 شهریور 1388, 10:58 صبح
من که میگم فیلد خالی فضا اشغال نمیکنه.
blank field,null field, اینم برای سرچ.