Câu lệnh EXPLAIN trong MySQL là một công cụ mạnh mẽ giúp phân tích cách MySQL thực thi các câu lệnh SELECT, DELETE, INSERT, và UPDATE. Nó cung cấp thông tin chi tiết về cách MySQL xử lý các truy vấn, giúp bạn tối ưu hóa hiệu suất của chúng.

1. Cú pháp cơ bản

Để sử dụng câu lệnh EXPLAIN, bạn chỉ cần thêm từ khóa EXPLAIN trước câu lệnh SQL mà bạn muốn phân tích. Ví dụ:

EXPLAIN

Kết quả có thể giống như sau:

idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra
1SIMPLEusersrefemail_idxemail_idx102const1Using where

Trong ví dụ trên:

  • typeref, cho thấy MySQL đang sử dụng một chỉ mục để tìm dữ liệu.
  • keyemail_idx, cho thấy chỉ mục email_idx được sử dụng.
  • rows là 1, cho thấy MySQL ước tính sẽ kiểm tra 1 bản ghi.
  • ExtraUsing where, cho thấy điều kiện WHERE đang được áp dụng.

4. Các trường hợp sử dụng

  • Tối ưu hóa truy vấn: Sử dụng EXPLAIN để hiểu cách MySQL thực thi truy vấn của bạn và điều chỉnh cấu trúc hoặc chỉ mục để cải thiện hiệu suất.
  • Kiểm tra chỉ mục: Xác định liệu các chỉ mục có được sử dụng đúng cách hay không và xem xét việc thêm hoặc thay đổi chỉ mục.
  • Phân tích hiệu suất: Theo dõi các trường hợp mà MySQL phải quét toàn bộ bảng hoặc sử dụng các phương pháp kém hiệu quả khác để tối ưu hóa.

Câu lệnh EXPLAIN là công cụ hữu ích để hiểu và tối ưu hóa các truy vấn SQL trong MySQL.