پیداکردن کوئریهای کندکننده در mySql
یکی از بهترین و کاربردیترین ابزارهایی که برای توسعه اپلیکیشنهای مختلف در اختیار شما قرار گرفته ابزار MySql است. MySql یک پایگاهداده سریع و همچنین سبک است که بهعنوان یکی از محبوبترین پایگاههای داده شناخته میشود. امروزه متخصصهای برنامهنویسی زیادی از MySql برای توسعه سایتهای خود استفاده میکنند.
سرعت بالا در لود کردن دادهها و راحتی راهاندازی و کار با MySql از مهمترین دلایلی است که این پایگاهداده به محبوبیتی عالی دستیافته است. در برخی از شرایط پایگاهداده MySql دچار کاهش سرعت شده و این امر ممکن است به دلیل یک کوئری کندکننده باشد. برای رفعکردن این مشکل باید ابتدا کوئری کندکننده را پیدا کنید. همراه ما باشید تا راهکاری برای این موضوع به شما معرفی کنیم.
MySQL چیست؟
اول از هر چیزی بهتر است کمی بیشتر با MySql آشنا شویم و ببینیم که این پایگاهداده چه ویژگیهایی دارد. پایگاهداده MySql را میتوان یکی از محبوبترین پایگاههای داده دانست که بر پایه SQL راهاندازی شده و از جداول رابطهای بهره میبرد.
در واقع شما میتوانید روابط یکطرفه و دوطرفه را در جداول مختلف این پایگاهداده ایجاد کرده و یک شبکه داده هوشمند داشته باشید. MySql آنقدر قوی و فوقالعاده است که در سیستم مدیریت محتوا وردپرس از پایگاهداده MySql استفاده میشود.
کاربردهای mysql
آنقدر که از MySql تعریف کردیم باید حدس زده باشید که این پایگاهداده کاربردهای مختلفی دارد. این کاربردها موجب شدهاند تا توسعهدهندگان زیادی از MySql استفاده کنند. مهمترین کاربردهای پایگاهداده MySql عبارتاند از:
- استفاده در سازمانها برای سایتهای داخلی
- نصب و راهاندازی در سرورهای مختلف برای سایتهای فروشگاهی
- استفاده بهعنوان یک پایگاهداده سازماندهی شده با قابلیت ایجاد روابط مختلف
- کمک بهسرعت بخشیدن توسعه سایتها
- و…
منظور از کوئری کندکننده چیست؟
یکی از مهمترین مفاهیمی که باید دررابطهبا MySql بدانید این است که در برخی از شرایط ممکن است پایگاهداده شما دچار کاهش سرعت شود. این کاهش سرعت در درخواستهای بالا و زمان آپ تایم بودن رخ میدهد. یکی از مهمترین دلایلی که میتوانند موجب بهوجودآمدن چنین مشکلی پایگاهداده MySql شوند، وجود تعدادی کوئری کندکننده است.
کوئریها همان دستورهای پایگاهداده برای خواندن، نوشتن، و ویرایش اطلاعات هستند که ممکن است در برخی از شرایط موجب کندشدن سرعت دیتابیس شوند. به همین دلیل پیداکردن و رفع آنها بسیار مهم است.
چطور میتوانیم کوئریهای کندکننده mysql را پیدا کنیم؟
همانطور که گفتیم کوئریهای کندکننده شاید در درخواستهای کم و سایتهای خلوت به نظر نرسند؛ اما در صورتی که استفاده از برنامه شما بالا رفته و سایت شما شلوغ شود، کندشدن دیتابیس به دلیل وجود این مشکل میتواند دردسرهایی را برای شما ایجاد کند. امروزه روشهای مختلفی برای رفعکردن این مشکل وجود دارد که میتوانید با استفاده از آنها بهراحتی کوئری کندکننده را پیدا کنید.
بهترین روش استفاده از لاگ خود MySql است. سیستم MySql از یک Log بهره میبرد که تمامی دستورات و خطاها را به شکلی دقیق برای شما نمایش میدهد. البته توجه داشته باشید که فعالکردن لاگ منابع بیشتری از سیستم اشغال میکند؛ به همین دلیل تنها در شرایط موردنیاز آن را فعال و سپس غیرفعال کنید.
مراحل پیدا کردن کوئری کندکننده
اگر میخواهید به بهترین شکل کوئری کندکننده را پیدا کرده و آن را رفع کنید، باید این کار را بهدقت و با قدمهای دقیق انجام دهید. به همین دلیل پیشنهاد میشود که این کار را طبق مراحل زیر انجام دهید.
1. فعالسازی Log در mysql
در اولین مرحله باید log را در سیستم MySql فعالسازی کنید. برای این کار ابتدا از طریق نرمافزار پیوتی به سور متصل شده و فایل /etc/my.cnf را با یکی از نرمافزارهای ویرایشگر باز کنید. برای این کار میتوانید دستور ( #vi /etc/my.cnf) را وارد نمایید.
2. تغییر در برخی از دستورات
سپس با استفاده از دستوراتی که ذکر میشود، در بالای عبارت [mysqld] موارد زیر را به ترتیب وارد نمایید:
- log_slow_queries=/var/log/mysql_slow_queries.log
- long_query_time = 2
پس از این کار فایل را ذخیره کرده و سپس خارج شوید. با این دستور لاگ فایل، کوئریهایی که بیش از 2 ثانیه اجرای آنها طول میکشد را در فایل var/log/mysql-slow.log قرار میدهد.
3. ساخت لاگ فایل
فراموش نکنید که باید در مرحله بعدی لاگ فایل را با دستور touch /var/log/mysql_slow_queries.log بسازید.
4. تغییردادن مالکیت
در مرحله بعد باید مالکیت لاگ فایل را تغییر داده تا بتوانید نسبت به آن دسترسی داشته باشید. برای این کار دستور chown mysql.root /var/log/mysql_slow_queries.log را وارد نمایید.
5. راهاندازی مجدد سرویس mysql
برای این که بتوانید شاهد نتایج باشید، باید سرویس mysql را یکبار دیگر راهاندازی کنید. اینگونه تمامی تغییرات اعمال شده و mysql لاگها را به شما نمایش میدهد. برای راهاندازی مجدد سرویس میتوانید از دستور service mysql restart استفاده کنید.
6. مشاهده کوئریهای کندکننده
حال mysql یک لاگ فایل بزرگ و حجیم را به شما ارائه میدهد که میتوانید با استفاده از دستور tail -f /var/log/mysql_slow_queries.log کوئریهای کندکننده را مشاهده کنید.
سخن پایانی
یکی از بهترین پایگاههای دادهای که در دنیای تکنولوژی و توسعه نرمافزار وجود دارد، پایگاهداده MySql است. این پایگاهداده از محبوبترین پایگاههای داده است که در شرکتها و برنامههای مختلفی از آن استفاده میشود. به طور مثال وردپرس برای ذخیرهسازی دادهها از MySql استفاده میکند.
کوئریهای کندکننده مشکلاتی هستند که میتوانند موجب کندشدن عملکرد MySql شوند. برای رفع این مشکل باید ابتدا کوئری را پیدا کرده و مشکل کندی آن را رفع کنید. در این مقاله روشهایی فوقالعاده برای پیداکردن کوئری کندکننده را با هم بررسی کردیم تا بتوانید بهراحتی این مشکل را برطرف کنید.
Mysql چه کاربردهایی دارد؟
از مهمترین کاربردهای MySql میتوان به راهاندازی انواع پایگاههای داده برای هر برنامهای در هر سیستمعاملی اشاره کرد. این پایگاهداده محدودیتی نداشته و میتوانید به کمک آن جداول رابطهای نیز بسازید.
کوئری کندکننده چیست؟
کوئری کندکننده یکی از چندین دستوراتی است که در MySql اجرا میشود. این کوئری به دلیل برخی از مشکلات زمان زیادی برای اجرا نیاز دارد که بهتر است رفع شود.
بهترین روش برای یافتن کوئری کندکننده کدام است؟
بهترین روش برای یافتن کوئری کندکننده استفاده log در MySql است. MySql یک سیستم لاگ را در اختیار شما قرار میدهد تا گزارش دقیق کوئریها را در اختیار داشته باشید.
famaserver.com