2013-08-06 47 views
2

還是我必須手動創建索引?UNIQUE會自動添加索引嗎?

CREATE TABLE pages(
    id INTEGER PRIMARY KEY AUTOINCREMENT, 
    stitle TEXT UNIQUE, 
    parent INTEGER, 
    FOREIGN KEY(parent) REFERENCES pages(id) ON DELETE CASCADE 
); 

所以我應該有2個索引吧? id和stitle

+0

我希望如此,否則可能需要更長時間來驗證獨特性。 –

回答

4

創建一個UNIQUE約束會自動在UNIQUE約束所涉及的列上創建一個索引。

Ref

通過在數據庫中創建 索引來實現UNIQUE和PRIMARY KEY約束。

....因此,在一組列上創建索引時,通常沒有任何優勢(但是開銷很大) ,這些列已經統一爲受到UNIQUE或PRIMARY KEY約束的 。

在你的例子中,會創建2個索引。

相關問題