Index 索引鍵

  1. 主鍵不可重複不可為 NULL,不重複鍵不可重複但可為 NULL,索引鍵可以重複。
  2. 將資料表常用的搜尋條件設成索引鍵,可加速搜尋速度。
  3. 查詢資料表 dcount 沒有索引。
    MariaDB root@(none):dyw> show index from dcount\G
    0 rows in set
    Time: 0.004s
    
  4. 於資料表 dcount 欄位 author 加入索引。
    MariaDB root@(none):dyw> alter table dcount add index (author);
    You're about to run a destructive command.
    Do you want to proceed? (y/n): y
    Your call!
    Query OK, 0 rows affected
    Time: 0.088s
    
  5. 查詢資料表 dcount 的索引,其中 Non_unique: 1 表示不限定「不重複」。
    MariaDB root@(none):dyw> show index from dcount\G
    ***************************[ 1. row ]***************************
    Table         | dcount
    Non_unique    | 1
    Key_name      | author
    Seq_in_index  | 1
    Column_name   | author
    Collation     | A
    Cardinality   | 6
    Sub_part      | <null>
    Packed        | <null>
    Null          |
    Index_type    | BTREE
    Comment       |
    Index_comment |
    
    1 row in set
    Time: 0.006s
    
  6. 於資料表 dcount 成功加入一筆欄位 author "dywang" 重複的紀錄。
    MariaDB root@(none):dyw> insert into dcount(author,dcount) values('dywang',12);
    Query OK, 1 row affected
    Time: 0.013s
    
  7. 查詢資料表 dcount 欄位 author "dywang" 有重複紀錄。
    MariaDB root@(none):dyw> select * from dcount;
    +--------+--------+
    | author | dcount |
    +--------+--------+
    | dywang | 4      |
    | jenny  | <null> |
    | linda  | 3      |
    | peter  | 2      |
    | rita   | 1      |
    | sara   | <null> |
    | dywang | 12     |
    +--------+--------+
    
    7 rows in set
    Time: 0.029s