بهینه سازی Mysql
سایت های دینامیک یا پویا برای نشان دادن مطالب نیاز به دیتابیس و برقرار ارتباط با آن دارند. query ها مسئول ارتباط و اجرای دستورات دیتابیس هستند. برای اجرای دستور ها باید کانکشن جدیدی به اسکریپت اجرا کننده اختصاص داده شود و پس از فرایند اجرای دستور حتما بسته شود تا از انباشت آن ها در mysql جلوگیری شود. انباشت کانکشن ها و تعداد زیاد آن ها باعث وارد شدن بار زیادی به دیتابیس mysql می شود. علاوه بر این کد نویسی های اشتباه و یا بهینه نبودن کدها نیز مشکلات زیادی را برای دیتابیس mysql ایجاد می نماید.
اهمیت بهینه سازی جدول های موجود در دیتابیس سایت در این است که سرعت و عملکرد دیتابیس را به شکل قابل توجهی افزایش داده و باعث می شود از بروز خطاهای احتمالی جلوگیری به عمل بیاید. با توجه به ترافیک ورودی سایت و حجم محتوای موجود در آن لازم است برنامه مشخصی برای بهینه سازی دیتابیس برای هر ماه یا هر دو ماه در نظر گرفته شود.
بهینه سازی دیتابیس mySql
روش های متعددی برای بهینه سازی دیتابیس وجود دارد از این میان می توان به ایجاد Index ها و قطعه بندی (partition) جداول اشاره نمود. روش دیگری که در این زمینه مورد استفاده قرار می گیرد استفاده از phpMyAdmin است.
در روش ایجاد Index ها امکان جمع آوری اطلاعات و داده به شکلی سریع و همچنین دسترسی مستقیم به داده های جمع آوری شده فراهم شده است. این قابلیت که به ایندکس گذاری (indexing) نیز گفته می شود یک قابلیت درونی برای دیتابیسmysql محسوب می شود. عملکرد indexing باعث می شود دیتابیس mySql به جای بررسی کل record ها برای یافتن یک دیتای خاص، به سراغ ایندکس های تعریف شده برود و در نتیجه فشار کمتری به سرور وارد کرده و منابع کمتری را از سرور درگیر نماید.
در خصوص قطعه بندی جداول یا partition می توان بیان داشت که این روش در جداول بسیار بزرگ که بیش از 1000 سطر و ستون دارد می تواند کاربرد مفیدی داشته باشد. نحوه عملکرد در این سیستم نیز مانند ایندکس گذاری بوده و در آن دیتابیس mysql برای یافتن اطلاعات مورد نیاز، کل دیتاها و داده های موجود در جداول را جستجو نکرده و مستقیما به سراغ پارتیشن مشخص شده می رود و به همین دلیل بار کمتری به سیستم وارد می آورد.
از روش های دیگری که می توانید به بهینه سازی دیتابیس mySql کمک کنید این است که جدول های دیتابیس را کوچک انتخاب نمایید. جداول کوچک تر نیاز به RAM کمتر و I/O سرور داشته و موجب کاهش Index ها می شوند.
یکی دیگر از راه هایی که برای بهینه سازی دیتابیس mySql مورد استفاده قرار می گیرد استفاده از procedure ANALYSE است. ارائه بازخورد از هر query توسط procedure ANALYSE انجام می پذیرد و برای استفاده از آن دستور زیر را در انتهای دستور select وارد می کنیم:
SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE ([max_elements, [max_memory]]) |
phpMyAdmin و ویژگی های آن
نرم افزار phpMyAdmin یک نرم افزار مدیریت دیتابیس mysql است که با استفاده از زبان برنامه نویسی PHP نوشته شده است. گستردگی عملیات هایی که با استفاده از phpMyAdmin قابل انجام است آن را به نرم افزاری محبوب نزد کاربران تبدیل کرده است. این نرم افزار در حال حاضر به 64 زبان مختلف در دنیا ترجمه شده است. عملیات هایی مانند ایجاد تغییرات بر روی دیتابیس شامل حذف و ویرایش جداول و فیلد ها و ردیف ها و بهینه سازی دیتابیس از ویژگی های اصلی این نرم افزار کاربردی محسوب می شود. به طور کلی ویژگی های اصلی phpMyAdmin را می توان به صورت زیر خلاصه نمود:
- رابط کاربری قوی تحت وب
- مدیریت و بهینه سازی اطلاعات موجود بر روی دیتابیس mysql
- دریافت و ارسال اطلاعات از sql
- مدیریت چندین سرور
- جستجوی اطلاعات در دیتابیس mysql این جستجو در سطح کل دیتابیس و زیر مجموعه انجام می پذیرد.
- امکان ایجاد گرافیک هایی به صورت پی دی اف از طرح های مربوط به دیتابیس
بسیاری از امکانات و دسترسی های دیگر از طریق phpMyAdmin در اختیار کاربران قرار می گیرد. یکی از مهم ترین ویژگی هایی که در بالا به آن اشاره شد موضوع بهینه سازی دیتابیس است که یکی از راه های آن استفاده از قابلیت های phpMyAdmin است.
بهینه سازی دیتابیس MySql از طریق phpMyAdmin
وب سایت ها هرچه بزرگ تر بوده و دارای ترافیک بیشتری باشند به دلیل اینکه محتوای بیشتری دارند دیتابیس آن ها بزرگ تر می شود. دیتابیس یک سایت بزرگ نیاز به مدیریت و بهینه سازی ویژه ای دارد. بهینه سازی دیتابیس mysql باید به صورت دوره ای انجام شود و در این میان تعمیر جداولی که دارای مشکل هستند را نیز نباید از یاد برد. گاهی اوقات مشکلات موجود در جداول هرچند کوچک می تواند بار زیادی به دیتابیس mysql وارد کند و عملکرد آن را با کندی مواجه کند.
همان طور که ذکر شد یکی از راه های بهینه سازی دیتابیس از طریق phpMyAdmin بوده که برای این کار لازم است به phpMyAdmin رفته و دیتابیسی که می خواهید بر روی آن کار بهینه سازی را انجام دهید را از منوی سمت چپ انتخاب نمایید. در این حالت لیست جداول موجود در دیتابیس در قسمت راست نمایش داده می شود. در ستون آخر هر کدام از جدول ها می توانید حجم داده های موجود در دیتابیس و آن جدول را مشاهده نموده و میزان OverHead دیتابیس را مشاهده نمایید. برای انتخاب جداول مورد نظر باید چک باکس هر کدام را انتخاب کنید. گزینه Check All برای انتخاب کل جداول موجود بود. عملیات بهینه سازی یا Optimize Table با استفاده از منوی کشویی With Selected که در انتهای صفحه قرار دارد آغاز می شود و کافیست منتظر پیغام Successful بر روی صفحه بمانید.
از قابلیت های موجود در phpMyAdmin علاوه بر بهینه سازی دیتابیس mysql می توان برای تعمیر آن نیز بهره برد. برای این کار نیز مانند بهینه سازی ابتدا وارد نرم افزار phpMyAdmin شده و دیتابیس مورد نظر را انتخاب نمایید. در این زمان گزینه Check All را انتخاب نموده و در انتهای صفحه گزینه Repair table از منوی With selected انتخاب نمایید. در این مرحله phpMyAdmin اقدام به عیب یابی و تعمیر جدول منتخب می کند.