iT邦幫忙

DAY 14
6

MySQL那些事兒系列 第 14

關於索引的一些探討(一)

在資料庫的世界,索引扮演了很重要的角色,也是大家所熟知的.
今天開始探討索引.
直接來看在MySQL關於索引的一個重要指令: EXPLAIN

EXPLAIN SELECT
        host
      , user
      , password
   FROM mysql.user
  WHERE user LIKE 'a%'\G

*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: user
         type: ALL
possible_keys: NULL
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 5
        Extra: Using where
1 row in set (0.01 sec)

\G 是 MySQL Client 的一個功能,可以將一般的橫式顯示轉為上面的直式顯示.
上面可以看到這道 SQL Query 沒有使用到 key, 也就是索引.

接著來看另一道SQL Query

EXPLAIN SELECT
        host
      , user
      , password
   FROM mysql.user
  WHERE host = 'localhost'
    AND user LIKE 'a%'\G

*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: user
         type: range
possible_keys: PRIMARY
          key: PRIMARY
      key_len: 228
          ref: NULL
         rows: 1
        Extra: Using where

可以看到回報可能使用PRIMARY KEY, 也使用了PRIMARY KEY.


上一篇
補助表的運用
下一篇
MySQL讀取文字檔的方法與動態SQL
系列文
MySQL那些事兒30

1 則留言

0
SunAllen
iT邦高手 1 級 ‧ 2013-10-14 12:12:26

沙發筆記筆記 上課了!

我要留言

立即登入留言