2014-03-12 36 views
0

在SQLite的,給予相同的我是否應該通過UNIQUE列創建索引?

CREATE TABLE t (
    id INTEGER PRIMARY KEY, 
    v STRING UNIQUE COLLATE NOCASE 
) 

一個表中有上添加v一個明確的指標有什麼用處?

CREATE UNIQUE INDEX idx_t_v ON t (v COLLATE NOCASE); 

回答

-1

索引允許數據庫應用程序在不讀取整個表的情況下快速查找數據。它們僅用於加速搜索/查詢。唯一鍵用於唯一標識列。您可以使用唯一鍵上的索引來有效執行

+0

我的印象是,SQLite(或者其他許多人)確實爲標記爲唯一的每一列添加了_unique index_,所以我恐怕只是手動複製已經爲我完成的工作。 – mafu

1

對於UNIQUE(或INTEGER以外的PRIMARY KEY)約束,SQLite會自動創建一個索引。

在同一列上創建第二個索引只會浪費空間,除非要使用不同的歸類或多列索引。

相關問題