Archive

Posts Tagged ‘InnoDB’

انواع جداول در MySQL

دی ۱۰م, ۱۳۸۸ HFakhraei ۱ comment

چند وقتی است که کار بر روی PHP و MySQL را شروع کرده ام و مانند تمامی افراد تازه کار به مشکلاتی بر خوردم که بد ندیدم آنها را در اینجا مطرح کنم.

برای افرادی که تا کنون با پایگاه داده SQL Server کار کرده اند تعریف یک جدول کار بسیار راحتی است و هیچ وقت نگران نوع جداول خود نبوده اند ولی در MySQL وضعیت کمی متفاوت است در اینجا انواع مختلفی وجود دارد که در هنگام تعریف یک جدول می توان نوع مورد نظر را انتخاب کرد. شاید شما نیز اگر آشنایی مختصری با MySQL داشته باشید تا کنون نیازی به تعیین نوع جدول پیدا نکرده باشید و همیشه نوع جدول پیش فرض MySQL را استفاده کرده اید.

در MySQL جداول یکی از ۴ نوع زیر می باشد :

  • MyISAM
  • InnoDB
  • BerkeleyDB
  • Heap

هر کدام از این نوع جداول ویژگی های خاصی دارند که در زیر به بررسی آنها می پردازیم.

  • MyISAM

    در بیشتر MySQL های نصب شده MyISAM نوع پیش فرض برای جداول در نظر گرفته می شود و آنرا باید اولین و قدیمیترین نوع جدول در MySQL دانست. MyISAM جهت بهترین کارایی و سرعت در عملیات Select بهینه سازی شده است و بیشتر توصیه می گردد به عنوان نوع برای جداولی در نظر گرفته شود که عملیات اصلی بر روی آنها از نوع Select می باشد. این نوع جداول از کلید خارجی و Transaction پشتیبانی نمی کنند.

  • InnoDB

    این نوع جدول به خوبی از کلید های خارجی و ACID پشتیبانی می کند و قابلیت قفل گذاری در سطح رکورد را دارد و پیشنهاد می گردد در جداولی که بر روی آنها عملیات Update و Delete فراوانی انجام می شود از این نوع استفاده گردد.

  • ACID = Atomicity + Consistency + Isolation + Durability

    BerkeleyDB

  • این نوع جدول مانند InnoDB می باشد با این تفاوت که قفل گذاری را در سطح Page انجام می دهد و دیگر به ندرت از آن استفاده می شود.

  • Heap

    این ها جداولی می باشند که به صورت فیزیکی بر روی دیسک ذخیره نمی شوند و اطلاعات آنها در حافظه نگهداری می شود و در هر بار Restart شدن MySQL اطلاعات آنها پاک شده و از بین می رود و بیشتر درمواقعی استفاده می شوندکه نیاز به Performance بسیار بالا در بازیابی داده ها می باشد یا نیاز به نگهداری موقت محدوده ای از داده ها در حافظه می باشد.

Categories: MySQL Tags: , , ,

Switch to our mobile site