PDA

View Full Version : تفاوت varchar و text



mehdiangal
دوشنبه 12 شهریور 1386, 19:26 عصر
سلام .
درباره ی data type های MySQL
تفاوت varchar و text چیه ؟ اگه با char هم مقایسشون کنید بد نیست . (در صورتی که همشون 255 کاراکتر داشته باشن (tinytext&varchar) ).
ممنون

I,Nobody
دوشنبه 12 شهریور 1386, 20:38 عصر
فکر می کنم قبلاً بحثش شده.
به هر حال در این حالت tinytext فضای بیشتری رو اشغال می کنه.
varchar فضای کمتری اشغال میکنه.
char هم که فضای مربوط به خودشو اشغال میکنه( از text کمتر، از varchar معمولاً بیشتر)
البته در سرعت جستجوی fulltext و نیز index گیری هم متفاوت هستند

mehdiangal
سه شنبه 13 شهریور 1386, 08:33 صبح
مرسی . خط 2,3,4 رو میدونستم (+ اینکه فصایی که tinytext بیشتر از varchar اشغال میکنه کمتر از اونیه که بخوایم دربارش حرف بزنیم)
ولی در مورد خط آخر ! : از نظر سرعت index گیری چه فرقی باهم دارن ؟
برای فیلدی که 100% , ده کاراکتر داره بهتره از char استفاده کنم ؟؟

و فقط همینه تفاوتشون ؟ پس خیلی مواقع فرقی نمیکنه که از کدوم استفاده بشه !

oxygenws
سه شنبه 13 شهریور 1386, 13:21 عصر
آره، بهتره از char استفاده کنی.

طول char فیکسد است و varchar داینامیک، سرعت جداول fixed (جداولی که حتی یک ستون داینامیک ندارند) خیلی بیشتر نسبت به جداول داینامیک (جداولی که حداقل یک ستون داینامیک دارند) می باشد.

mehdiangal
سه شنبه 13 شهریور 1386, 21:19 عصر
مرسی . در مورد سرعت منظورت insert و update بود ؟ یا نه ؟ (اگه آره : اگه فقط یه فیلد INT رو update کنیم فرقی میکنه که یه فیلد دیگه تو اون جدول char باشه یا varchar ؟؟؟)

و در مورد فرق (varchar(255 با (tinytext(255 ؟؟؟ یه حرفهایی بالا رد و بدل شد ولی من به نتیجه ای نرسیدم که از کدوم استفاده کنم !؟

oxygenws
سه شنبه 13 شهریور 1386, 21:57 عصر
آره، فرقی نمی کنه، باز هم کنده به هر حال تو یک سطر خاص رو می خوای تغییر بدی که یه where روش زدی و در حقیقت مثلا update مجموعه ای از یک select و update هستش!

در مورد insert هم چون کل سطر insert میشه، پس....

تفاوت اونها رو نمی دونم (جز همون ۱-۲ بایتی که اون کمتر می گیره!)