معرفی ویژگی های Mysql
- توسط : علی حسین شهابی
- 0 نظر
با سلام خدمت شما دوستان
امروز تصمیم گرفتن درباره ویژگی های Mysql صحبت کنم و یه مختصر معرفی ای داشته باشم . دیگه از توضیح اینکه mysql چیست خودداری می کنم , چون قطعا شما که سراغ این مطلب آمده اید, می دانید دیتابیس Mysql چیست و معرفی کامل آن را برای دوستان دیگر , در پست های بعدی قرار خواهم داد .
می توانیم بگوییم رقبای اصلی MySQL عبارتند از PostgreSQL, SQL Server , …. وOracle
۱- پشتیبانی از Subselect
Subselect ها در واقع همان select های تو در تو در Mysql می باشند.
مثلا :
Select Film_Title
From Thespian_Film_Table
Where Thespian_Last_Name = "Ford"
and Thespian_First_Name = "Harrison"
and Film_Title in
(Select Film_Title
From Film_Table
Where Film_Year equals "1984");
یا این مثال :
SELECT *
FROM
(
SELECT a, b, c,
(SELECT d FROM B LIMIT 0,1) d
FROM A
) q
WHERE d >= 10
۲- پشتیبانی از view
view یک جدول مجازی (virtual table) یا جدول منطقی (logical table) در Mysql است که با استفاده از دستورات select , join پر می شود . view خیلی خیلی شبیه به جدول ها می باشند و مانند آنها شامل سطر و ستون می باشند .
شما می توانید یک بار یک کوئری خاص را به صورت view بسازید و ذخیره کنید و از دفعات بعد به جای نوشتن و تکرار آن کوئری , از view ساخته شده استفاده کنید .
۳- متن باز بودن یا همان open source
همانطور که می دانید تمام کدهای Mysql در دسترس شماست و شما هم می توانید در صورت نیاز هر جای آن را تغییر دهید .
۴- پشتیبانی از stored procedure
stored procedure ها رویه هایی هستند که شما میتونید پارامتر ورودی به اونها بدید و کوئری های MySql رو اجرا کنید، نتیجه ی اون میتونه شامل خروجی باشه میتونه هم نباشه و فقط دستوری اجرا بشه . مثلا برای نوشتن دستورات Select , Update , delete و … میتونید از stored procedure ها استفاده کنید.
در واقع یک سری توابع در Mysql هستند که می توانیم آنها را در داخل php فراخوانی نماییم و انجام برخی از کارها را به گردن Mysql بیاندازیم و تمام بار برنامه را بر روی php نیاندازیم . (خواندن توضیحات کاملstored procedure )
۵- پشتیبانی از trigger
تریگرها امکان جدیدیست که از نسخه 5.0 به MySQL اضافه شده ولی در این نسخه محدودیتهایی وجود داشت که در نسخه 5.1 برطرف شده است بهتر است از نسخه 5.1 استفاده کنید . مثلا با استفاده از trigger می توانید بگیم هر موقع بر روی جدول user داده ای اضافه شد فلان کار را انجام بده (خواندن توضیحات کامل trigger )
۶- پشتیبانی کامل از یونی کد (Unicode)
۷- رابطه های کاربری گوناگون مانند PHPMYADMIN ,WORKBENCH , SQLMASTERO , NAVICAT و …
۸ – پشتیبانی از Full Text Search
Full Text Search امکان index کردن و جستجوی دیتای متنی را بر مبنای لغات کلیدی درMySQL فراهم می کند . بر خلاف LIKE که محدوده عمل آن روی کاراکترهاست ، Full Text Search بر روی کلمات بر مبنای زبان ِ متن ، پرس و جو انجام می دهد . اختلاف سرعت Full Text Search و LIKE در زمانی که می خواهیم یک Query را بر روی چند میلیون رکورد اجرا کنیم بسیار مشهود است . اگر با LIKE دنبال یک ترکیب بگردیم ، تهیه گزارش ممکن است چندین دقیقه طول بکشد در حالی که استفاده از Full Text Search آن را به چند ثانیه کاهش می دهد .
۹ – پشتیبانی از Replication
در کپیبرداری یا Replication، دادهها و جداول یک پایگاهداده روی چندین سرور قرار میگیرد و از طریق فرایندهایی، دادههای مربوط به پایگاههای داده فرعی با دادههای پایگاه داده اصلی هماهنگ میشود. به این ترتیب سیستم نرمافزاری استفاده کننده از این پایگاه داده، برای دسترسی به داده مورد نظر خود به جای سرور اصلی، به نزدیکترین سرور محلیِ معرفی شده به آن مراجعه میکند. در نتیجه از ترافیک شبکه کاسته میشود و سرعت تهیه اطلاعات نیز افزایش مییابد. کپیبرداری به روش پایه / پیرو (Master/Slave) در پایگاهداده MySQL برای اولین بار در سال 2000 و در نسخه بتای این پایگاهداده عرضه شد. بعد از آن کپیبرداری به یکی از امکانات ضروری اکثر کاربران حرفهای پایگاهداده MySQL تبدیل شده است. برعکس بسیاری از فرضیات قبلی و در مقایسه با سایر پایگاههای داده تجاری، کپیبرداری در محیط MySQL بسیار آسان و کاربردی است.
۱۰ – پشتیبانی از Transaction
یک Transaction یک مجموعه ای از یک یا چندین عبارت SQL می باشد که یک مجموعه فعالیت های مرتبط به هم را اجرا می کنند که یا همه این دستورات باید با هم اجرا شود یا هیچ کدام از انها اجرا نشود . این تعریفی از یک Transaction و کاربرد آن رد MYSQL بود .
۱۱ – دارای توابعی برای کار با داده های مکانی و مختصات جغرافیایی
۱۲ – موتورهای ذخیرهسازی مختلف
MYSQL از چندین موتور ذخیرهسازی پشتیبانی میکند که به عنوان نوعهای جدول مختلف عمل میکنند. برخی انواع موتورهای ذخیرهسازی در برابر تراکنشها امن، و برخی دیگر در برابر تراکنشها ناامن هستند.
- اینودیبی (به انگلیسی: InnoDB): امن در برابر تراکنشها است. از قواعد جامعیت کلید خارجی پشتیبانی میکند. از مایاسکیوال ۵٫۵٫۵ موتور ذخیرهسازی پیشفرض مایاسکیوال است.
- مایآیسم (به انگلیسی: MyISAM): قبل از نسخه ۵٫۵٫۵ موتور ذخیرهسازی پیشفرض مایاسکیوال بود.
- حافظه (به انگلیسی: Memory): تمام داده را به منظور دسترسی سریع در حافظه نگهداری میکند.
- ادغام (به انگلیسی: Merge): قابلیت گروهبندی کردن چندین جدول مایآیسم مشابه و ارجاع به آنها به عنوان یک جدول را میدهد
- آرشیو (به انگلیسی: Archive): برای نگهداری دادههای آرشیوی که به ندرت به آنها ارجاع میشود.
- متحد (به انگلیسی: Federated): برای پیوند زدن چندین سرور مایاسکیوال مجزا برای ایجاد یک پایگاهداده منطقی از چندین سرور فیزیکی.
- سیاسوی (به انگلیسی: CSV): داده را در فایلهای متنی با قالب مقادیر جداشده با کاما ذخیرهسازی میکند.
- سیاهچاله (به انگلیسی: Blackhole): ورودی داده را قبول میکند، ولی آن را ذخیره نمیکند.
این موارد چیزهایی بود که در حال حاضر به ذهن من رسید . قطعا موارد خیلی خیلی بیشتری می شود نام برد .
اگر شما هم ویژگی های دیگری را می شناسید , حتما آن را در کامنت ها به اشتراک بگذارید.