یوشا

دست نوشته ها و تجربیات شخصی

یوشا

دست نوشته ها و تجربیات شخصی

شهید دکتر مصطفی چمران: می گویند تقوا از تخصص لازمتر است، آنرا می پذیرم، اما می گویم آنکس که تخصص ندارد و کاری را می پذیرد بی تقواست!

طبقه بندی موضوعی
تبلیغات
Blog.ir بلاگ، رسانه متخصصین و اهل قلم، استفاده آسان از امکانات وبلاگ نویسی حرفه‌ای، در محیطی نوین، امن و پایدار bayanbox.ir صندوق بیان - تجربه‌ای متفاوت در نشر و نگهداری فایل‌ها، ۳ گیگا بایت فضای پیشرفته رایگان Bayan.ir - بیان، پیشرو در فناوری‌های فضای مجازی ایران

 

پایگاه داده MySQL بدلیل کارایی(performance) بسیار بالایی که داره قادره از انواع(type) مختلف جدول پشتیبانی کنه که به شرح زیر هستن:

  • نوع MyISAM
  • نوع InnoDb
  • نوع Memory
  • نوع Archive
  • نوع BerkeleyDb
  • نوع Example
  • نوع Merge

  • نوع MyISAM

یکی از معمولترین نوع جدول هستش که خود MySQL هم بصورت پیشفرض(Default) در نظر می گیرش(چه تعریفش کنید و چه نکنید). این نوع بر اساس نوع ISAM قدیم ساخته شده(که در نگارش 5 وجود نداره) و برای هر جدول 3 فایل ایجاد می کنه:
xxxxx.frm: حاوی قالب جدول. Form/at
xxxxx.myi: حاوی Index های جدول. MyIndex
xxxxx.myd: حاوی داده های جدول. MyData
از جمله ویژگی های مثبتش هم:
سرعت بسیار بالا.
Catch بسیار راحت.
اشغال فضای کمتر در Disk.
دارای Option های data directory و index directory در ساخت جداول.
به خوبی از Triger، View, Routine و Stored procedure پشتیبانی می کند.
می تواند 64 تا Index داشته باشد.
می تواند Key های 1000 بایتی داشته باشد.
هر سطر ار فضای خودش استفاده می کند و در صورت لزوم به چند قسمت تقسیم می شوند.
می تواند 16 ستون را در Index نگه داری کند.
داده ها می توانند با 3 قالب Static, Dynamic و Compressed ذخیره بشن.
برای قالب Dynamic فضای بیشتری درنظر می گیرند.
برای قالب Static فضای کمتری درنظر می گیرند.
از Index نوع BTree استفاده می کند.
پشتیبانی کامل از دستورات اصلی(select, delete, update, insert...) و فرعی(where, order...).
ستون های نوع VarChar می توانند طول Static یا Dynamic داشته باشند.
پشتیبانی از قفل گذاری جداول. Read/write.
از مقدار تهی(Null) در ستونهای Index پشتیبانی می کند.
تمام مقادیر Key از نوع عدد، طوری ذخیره میشن که Index ها به عالی ترین شکل فشرده می شوند.
قابلیت ترمیم و بازیابی بالایی دارد.
از فایل هایی با طول 63 بیت هم پشتیبانی می کند(با اجازه سیستم).
داده ها از نظر بیتی، از کوچیک به بزرگ ذخیره میشن. در نتیجه از سیستم جدا خواهند بود.
ستونهای نوع Text و BLOb به عنوان Index هم می توانند معرفی بشن.
و...

 

  • نوع InnoDb

این نوع جدول برای کار با داده های سنگین بسیار کارامد هستش. از Transaction بخوبی پشتیبانی میکنه. از قفل جداول و سطر ها هم پشتیبانی می کنه. داده ها و Index ها رو هم در Buffer خودش ذخیره می کنه. نسبت به نوع MyISAM کمتر Option داره. Performance بالایی هم داره؟!

 

  • نوع Memory

همانطور که از نامش پیداست بیشتر با حافظه سروکار داره. جداول رو در فایلی با پسوند frm ذخیره می کنه. هر جدول میتونه 32 تا Index داشته باشه. Index ها می تونن محتوای Null هم باشن. این Index ها از نوع BTree یا Hash هستند. فرمت سطرها فقط از نوع Fixed هستش. از گزینه auto_increment هم پشتیبانی می کنه. از ستون های نوع BLOb و Text پشتیبانی نمی کنه.
هر Index میتونه 16 تا ستون داشته باشه. طول هر Key هم 500 بایت هستش.

 

  • نوع Archive

برای بایگانیه دیگه lol
از قفل پشتیبانی میکنه و دستورات اصلیش هم فقط select و insert هستش.
نوع BLOb هم داره.

 

  • نوع BerkeleyDb

از Transaction بخوبی پشتیبانی میکنه. داده ها در دو فایل با پسوند frm(قالب) و db(داده ها) ذخیره میشن. Index ها فشرده نمی شوند. از قفل جداول پشتیبانی می کنه. سرعت کمتری نسبت به InnoDb و خیلی کمتر نسب به MyISAM داره. هر جدول باید یک Primary key داشته باشه(نداشته باشه بصورت Default خود MySQL براش درست میکنه). در مورد تعداد Index ها و ستونها و Key ها هم اطلاعات دقیقی ندارم. (تابه حال دقیق تستش نکردم جستجو کنید)

 

  • نوع Example

کارایی خاصی نداره و فقط برای توسعه دهندگان هسته MySQL بکار میره...

 

  • نوع Merge

کار اصلیش الحاق/پیوست جداول(مثل هم) با هم هستش. خیلی از Option های MyISAM رو نداره. محدودیت برای فضا نداره. دستورات اصلی delete select update رو داره. از Key ها هم پشتیبانی می کنه. کمی هم کند هستش.

۹۲/۱۲/۱۸

نظرات (۲)

ممنون
۳۱ شهریور ۹۴ ، ۱۹:۴۹ مهدی پیشگوی
دستتون درد نکنه
کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">