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

20 04 2008

MyISAM : این فرمت از جداول مای اسکیو ال برای افزایش سرعت و قابلیت اطمینان بالاتر بهینه سازی شده است . این قالب از جداولی با حجم ۴ گیگا بایت پشتیبانی می کند و برای صرفه جویی در دیسک سخت از قابلیت فشرده سازی نیز بهره می برد. این نوع از جداول قالب پیش فرض مای اسکیو ال است دلیل این مطلب هم وجود قابلیت ها و بهینه سازی های زیادی است که MyISAM داراست.

InnoDB : جانشین خلفی برای MyISAM است ! قالب InnoDB یکی از پیچیده ترین نوع جداول در مای اسکیو ال است . این قالب از تراکنش و کلید خارجی پشتیبانی می کند (تنها جدولی که هر دو را همزمان پشتیبانی می کند) و به چندین کاربر مختلف به صورت همزمان اجازه ی اجرای select را می دهد. این ویژگی مدت زمان پاسخ گویی به پرس و جو ها را کاهش داده و باعث بهبود کارایی سیستم می گردد. این جداول قابلیت حمل بین سیستم عامل های گوناگون را دارا هستند . این جداول دارای قابلیت ترمیم اطلاعات نیز هستند که باعث پایین آمدن ریسک از دست دادن اطلاعات می‌شود.

HEAP : این نوع از جداول در حافظه اصلی نگهداری می شوند. همین امر باعث افزایش سرعت فوق العاده در این جداول شده است . از این قالب برای جداول موقت استفاده می شود و معمولا به قصد دیگری از این جداول استفاده نمی شود . دلیل هم کاملا واضح است : این جدول تا زمانی وجود دارد که سرور در حال اجراست و به محض خاموش شدن سرور و یا پاک شدن حافظه ، اطلاعات از بین می رود.

BerkeleyDB : این قالب یکی از انواع پیشرفته جداول در مای اسکیو ال است ؛ پشتیبانی از تراکنش ها ،‌چک پوینت ها و بازیابی اطلاعات از قابلیت های این قالب است . BerkeleyDB دارای معایبی نیز هست ؛ این جداول به آسانی بین سیستم عامل های گوناگون قابل جابجایی نیست و بهینه سازی های کمتری بر روی آن نسبت به جداول MyISAM انجام گرفته است ، که باعث کند تر شدن و همچنین عدم مصرف بهینه ی حافظه می‌شود.

MERGE : قابلیتی را فراهم می نماید که بوسیله ی آن می توان با گروهی از جداول MyISAM همانند یک جدول برخورد کرد . این جدول های گروهی در یک جدول مجازی گرد هم می آیند . این قالب تنها بر روی جداولی قابل اعمال است که ساختار درونی آنها یکسان باشد.

ISAM : بله شما با یک پدربزرگ برخورد کرده اید ! جد MyISAM ! این قالب قدیمی است و دارای ضعف های متعددی است .

در بیشتر مواقع شما به چیزی بیشتر از جدول پیش فرض یعنی MyISAM نیاز ندارید. از InnoDB در مواقعی استفاده نمایید که قابلیت هایی مثل تراکنش و یا کلید خارجی مورد نیازتان باشد .

این هم یک مثال از نحوه ی مشخص کردن نوع جداول :

mysql> CREATE TABLE persons (
-> pid int(11) NOT NULL auto_increment,
-> pname varchar(255) NOT NULL default '',
-> PRIMARY KEY (pid)
-> ) TYPE=MyISAM;

Advertisements

کارها

Information

2 responses

20 04 2008
edi

وبلاگ خوبي داريا , سعي مي کنم چند روز يک بار بهت سر بزنم .

21 04 2008
محمد

ایووووووووول، چه وبلاگ خوبی داری!!!!!!

من من من من واقعا متاسفم
جبران می کنم.

حسین جان این دقیقا یکی از سوالای من هم بود.
متشکرمD:

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s




%d وب‌نوشت‌نویس این را دوست دارند: