Sobes.tech
Middle

Оператор EXPLAIN дар SQL чист ва чӣ гуна барои таҳлили дархостҳо истифода мешавад?

sobes.tech AI

Ҷавоб аз AI

оператори EXPLAIN дар SQL истифода мешавад барои гирифтани маълумот дар бораи нақшаи иҷрои пурсиш. Он нишон медиҳад, ки базаи додаҳо чӣ гуна маълумотро бо истифода аз индексҳо, пайвандҳо ва филтрҳо бароварда хоҳад кард.

Натиҷаи EXPLAIN маълумот медиҳад дар бораи:

  • Намуди дастрасӣ (type): Чӣ гуна ҷадвал скан карда мешавад (скан пурра, скан индекс ва ғайра).
  • Ключҳои эҳтимолӣ (possible_keys): Кадом индексҳо метавонанд истифода шаванд.
  • Ключ (key): Кадом индекс воқеан истифода мешавад.
  • Дарозии клуч (key_len): Дарозии индекс истифодашуда.
  • Референсҳо (ref): Кадом сутунҳо ё константҳо барои ҷустуҷӯ дар индекс истифода мешаванд.
  • Рақамҳо (rows): Шумораи тахминии сатрҳо, ки санҷида мешаванд.
  • Илова (Extra): Маълумоти иловагӣ дар бораи иҷро (масалан, "Using filesort", "Using temporary").

Истифода:

Фақат EXPLAIN-ро пеш аз пурсиши SQL-и худ илова кунед:

EXPLAIN SELECT * FROM users WHERE age > 30;

Таҳлили натиҷа кӯмак мекунад дар муайян кардани нуқтаҳои заъф дар пурсиш, масалан, сканҳои пурраи ҷадвалҳо, набудани ё истифодаи номукаммалонаи индексҳо, ва пешниҳод кардани роҳҳои оптимизатсия. Масалан, "Using filesort" дар майдони Extra аксар вақт нишон медиҳад, ки зарур аст индекс барои сутуни, ки ба он тартиб дода мешавад, эҷод кардан.