تالار گفتمان nCIS.ir

نسخه‌ی کامل: دستور Explain
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام دوستان. Angel

دستور Explain توی دستورات SQL برای چیه و وبه چه دردی میخوره ؟؟
چطوری و کجاها ازش استفاده میکنن؟؟
خب از اسمش معلومه!
اولا که خروجیش یه سطره اونم هم یه توضیحی میده در رابطه با query ای که زده شده.

یه مثال:

فرض کنید جدول Posts دوتا ایندکس زدید.یکی روی نام کاربر و یکی هم تاریخ درج.
حالا query زیر رو اجرا کنید
EXPLAIN Select * Form Posts
میبیند که تو خروجی
ستون possible_keys ها هردو ایندکس اومده
ولی ستون key فقط ایندکس کاربر اومده

این یعنی که اینکه Mysql از ایندکس کاربر که یونیک نیست استفاده کرده.

و این و موارد دیگه ای که دونستنش میتونه کمک کنه به پرفورمنس کار
کاربردهای دیگری هم داره. برای مثال:
mysql> EXPLAIN groups;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(255) | NO   |     | NULL    |                |
| title | varchar(255) | NO   |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
3 rows in set (0.10 sec)

به مستندات http://dev.mysql.com مراجعه کنید.