MySQL 是一款非常強大的關系型數據庫管理系統。在使用 MySQL 進行數據查詢時,索引往往扮演著至關重要的角色。但是,我們有時會遇到這樣的問題:當我們使用了多個索引時,如何查看系統到底使用了哪個索引呢?
EXPLAIN SELECT * FROM my_table WHERE name = 'John';
以上代碼就是解決這個問題的關鍵!使用 EXPLAIN 關鍵字,MySQL 將會展示出查詢的執行計劃,并給我們展示哪些索引被使用了。在上面的代碼中,我們要查詢 my_table 表中 name='John' 的數據。運行上面的代碼后,MySQL 將會給我們返回以下結果:
id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+----------+-------+---------------+------+---------+------+-------+-------------+ | 1 | SIMPLE | my_table | const | name_index | name | 33 | const | 1 | Using index
在結果的 “key” 字段中,MySQL 明確告訴我們,系統使用了名為 “name_index” 的索引。而且,在 “Extra” 字段中,MySQL 還提示我們該查詢是 “Using index” 的。
總的來說,我們可以通過運行以上代碼,來快速查看 MySQL 是否使用了我們預想中的索引。這個方法簡單直接,值得收藏!