2016-12-12 16 views
0

創建在列的不同值的索引我有一個PostgreSQL的表看起來像這樣:PostgreSQL中

CREATE TABLE items (
    name TEXT NOT NULL, 
    value TEXT NOT NULL, 
    PRIMARY KEY (name, value) 
); 

我經常做一個查詢,看看有什麼value s爲可供選擇:

SELECT DISTINCT value FROM items; 

如何在PostgreSQL中創建一個索引,使上述查詢不必遍歷所有items表?

回答

1

這是一個基本結構:

CREATE INDEX value_idx ON items(value); 

但是,對於附加功能看CREATE INDEX文件。

https://www.postgresql.org/docs/9.6/static/sql-createindex.html

+0

這個答案是不正確的,加入這樣一個指數不會阻止全表掃描。這是因爲相同的索引可以用於'SELECT名稱FROM物品ORDER BY值' – njaard

+0

@njaard問題是'我如何創建一個索引....' – McNets

+0

'......以上查詢不必迭代所有的表項?' – njaard