ورود

View Full Version : سوال: نیاز به توضیحات در مورد explain و روش استفاده



kab00k
شنبه 12 بهمن 1392, 21:53 عصر
با سلام
1- دوستان گرامی من میخواستم در مورد نحوه explain و روش و محل استفاده اون اطلاعات پیدا کنم
اگر کمک کنید ممنون میشم
جایی خوندم برای جستجو در دیتابیس بزرگ استفاده از

EXPLAIN SELECT name, created FROM recipes WHERE created > '2011-11-01 00:00:00'\G

خیلی بهتر از کد زیر هستش

SELECT name, created FROM recipes WHERE created > '2011-11-01 00:00:00';

نظر اساتید چیه و از این کد همینجوری استفاده میشه یا روش دیگه هم هست ؟
2- به نظر شما توی دیتابیس که خیلی زیاد رایت داره و هی پشت سر هم مطالب وارد میشه از موتور InnoDB استفاده کنم یا از MyISAM و سرعت رایت تو کدومشون بیشتره؟

espootin
یک شنبه 13 بهمن 1392, 22:42 عصر
با سلام

در مورد سوال اول، کلمه کلیدی explain برای بررسی performance کوری معمولا استفاده میشه و یه سری اطلاعات در مورد نحوه اجرای کوری میدهد، مثل‌: ایندکس استفاده شده یا نه ، نوع select و ...
نکته: در صورتی که از کلمه کلیدی explain استفاده کنید، هیچ داده ای از بانک برای شما برگشت نخواهد داده شد، بجز اطلاعات نحوه اجرای کوری.

سوال دوم :‌ انجین MyISAM سرعت بالاتری نسبت به InnoDB دارد ولی InnoDB یه سری مزایایی داره که معمولا بیشتر ترجیح داده می شود مثل : Transaction و یکپارچگی .
نکته: انتخاب انجین کاملا به آنالیز و نوع طراحیتون بستگی داره.

از این لینک می تونی تفاوت هاشون رو به صورت کامل ببینی :
http://stackoverflow.com/questions/12614541/whats-the-difference-between-myisam-and-innodb

موفق باشید./

afshin9032
جمعه 18 بهمن 1392, 22:20 عصر
http://dev.mysql.com/doc/refman/5.0/en/explain-output.html