表的索引

索引用來排序數據以加快搜索和排序操作的速度。
注意:
1. 索引改善檢索操作的性能,但降低了數據插入、修改和刪除的性能。在執行這些操作時,DBMS必須動態的更新索引。
2. 索引數據可能有佔用大量的存儲空間。
3. 並非所有數據都適合做索引。取值不多的數據(如省)不如具有更多可能值(如姓或名)的數據,能通過索引得到那麼多的好處。
4. 索引用於數據過濾和數據排序。如果你經常以特定的順序排序數據,則該數據可能適合做索引。
5. 可以在索引中定義多個列。

普通索引

創建索引

CREATE INDEX prod_name_ind ON Products (prod_name);

索引必須唯一命名。
修改表結構添加索引

ALTER TABLE Products ADD INDEX prod_name_ind(prod_name);

創建表時直接指定索引

CREATE TABLE Products
(
  prod_id    char(10)      NOT NULL ,
  vend_id    char(10)      NOT NULL ,
  prod_name  char(255)     NOT NULL ,
  prod_price decimal(8,2)  NOT NULL ,
  prod_desc  text          NULL  
  INDEX [prod_name_idx] (prod_name)  
);  

刪除索引

DROP INDEX[prod_name_idx] ON Product;
或者
ALTER TABLE Product DROP INDEX prod_name_idx;

唯一索引

它與前面的普通索引類似,不同的就是:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。它有以下幾種創建方式:

創建索引

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

修改表結構

ALTER table mytable ADD UNIQUE [indexName] (username(length));

創建表的時候直接指定

CREATE TABLE mytable(  

ID INT NOT NULL,   

username VARCHAR(16) NOT NULL,  

UNIQUE [indexName] (username(length))  

);  

顯示索引信息

你可以使用 SHOW INDEX 命令來列出表中的相關的索引信息。可以通過添加 \G 來格式化輸出信息。
嘗試以下實例:

SHOW INDEX FROM table_name; \G
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章