• 1 رای - 2 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
tinytext یا varchar
#1
به نظرتون کدوم بهتره ؟

در کل برای یک همچین اطلاعاتی کدوم گزینه بهتره ؟

تکست تا 30 کارکتر ، تکست تا 150 کارکتر ؟! و بیشتر از اینا کلا اگر یه توضیح بدید ممنون میشم Shy

متشکرم پیشاپیش Heart
  پاسخ
تشکر شده توسط : cyletech
#2
وقتی توی دیتابیس Varchar تعریف کنید برای ذخیره اطلاعات یک طول ثابت در نظر گرفته میشه که اگه مقدار داشته باشه و یا نداشته باشه این حجم حافظه واسش اشغال میشه مثلا اگر شما برای یک فیلد طول را 50 تعریف کنید برای همه رکورد ها طول ثابت 50 در نظر گرفته میشه حتی اگه تمامی رکوردهای درج شده طول خیلی کمی داشته باشن ولی برای Text اینطور نیست یعنی به اندازه طول رکورد حافظه اشغال میشه.
هردوی این روشها مزایا و معایبی دارن مثلا varchar خیلی از لحاظ سرعت و کارایی بهتره ولی از نظر حجم نه، در مورد text برعکس یعنی از لحاظ سرعت و کارایی مثل varchar بهینه نیست ولی از نظر حجم حافظه بهینه ست، البته در مورد حجم حافظه هم درصورتیکه تغییر زیادی نداشته باشه وگرنه باید مرتب حجم حافظه بهینه بشه.

بسته به نوع کاربرد و استفاده از رکورد باید انتخاب کنید.
  پاسخ
تشکر شده توسط : hosseintdk775 siavash cyletech parvane
#3
مجتبی کاملا درست میگه اما اگر سوال این بود
varchar یا char
varchar طول متغیر داره اما char طول ثابت داره
نقل قول:You cannot assign a DEFAULT value to a TINYTEXT and you cannot create an unprefixed index on the latter.

Internally, additional objects are allocated in memory to handle TEXT (incl. TINYTEXT) columns which can cause memory fragmentation on the large recordsets.

Note that this only concerns the column's internal representation in the recordsets, not how they are stored on the disk.
  پاسخ
تشکر شده توسط : siavash cyletech
#4
پس با این حساب برای سایت های بزرگ که سرعت بالایی میخواند varchar بهتره و برای سایت هایی که حجم دیتابیس براشون مهمه tinytext درسته دیگه ؟ Idea
  پاسخ
تشکر شده توسط : cyletech
#5
مربوط به سایت نمیشه. بستگی به این داره کجا استفاده بشه
  پاسخ
تشکر شده توسط : cyletech
#6
میشه چند تا مثال بزنید که چی رو کجا استفاده کنیم ؟ Blush مثلا برای یوزر و پسورد varchar خوبه ؟ Huh
  پاسخ
تشکر شده توسط : cyletech
#7
بسم الله الرحمن الرحیم
سلام
بله - واسه یوزرنیم و پسورد از charاگه طولش ثابت هست استفاده کنید از اگه متغیره از varchar

توجه کنید که char و varchar یه خطی هستند ولی text چند خطی / که واسه یوزرنیم و کلمه عبور بهتره از char یا varchar استفاده بشه

همونطور که می دونید برای username بهتره که unique باشه که این کلید رو ( unique ) بهتره با char یا varchar استفاده بشه و unique تا جایی که می دونم درست نیست در text استفاده بشه
  پاسخ
تشکر شده توسط : siavash cyletech
#8
اینجور که متوجه شدم هرجا رشته یک خطی با طول ثابت خواستم دریافت کنم از char و طول متغیر varchar باید استفاده بشه ... و چند خطی هم text ! درسته دیگه ؟ حالا کجا ها tinytext و مشتقات text استفاده میشند ؟ محل هایی که بیشتر از یک خط هست بسته به کارکتر هایی که میگیرند انتخاب کنیم ؟ ( از مشتقات tinytext ) !؟
  پاسخ
تشکر شده توسط : cyletech
#9
توی varchar هم می تونید text چند خطی قرار بدید. خط بعدی یعنی \n که توی char یا varchar هم میشه قرار داد ( من گیر بده نیستم Big Grin ) (کلا هر چیز به جز باینری می تونید توش قرار بدید) برای باینتری هم varbinary هست
این صفحه کامل توضیح داده
http://dev.mysql.com/doc/refman/5.0/en/blob.html
  پاسخ
تشکر شده توسط : siavash oia hosseintdk775
#10
مدیر جان منبع ساده تری سراغ نداری ؟ باس همه اینا رو بخونم ؟ Big Grin

منظورم از ساده تر : کم حجم تره !

Heart
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان