# پایگاه‌های داده > سایر پایگاه‌های داده > MySQL >  تفاوت varchar و text

## mehdiangal

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

----------


## I,Nobody

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

----------


## mehdiangal

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

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

----------


## oxygenws

آره، بهتره از char استفاده کنی.

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

----------


## mehdiangal

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

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

----------


## oxygenws

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

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

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

----------

