2015-08-14 81 views
3

我在NodeJS服務器項目上使用Sequelize v3.5.1和PostgreSQL v9.4.4。Sequelize:模型定義中「獨特」屬性的效果

在模型定義中,我不完全清楚在屬性中添加選項unique: true會產生什麼影響。

讓我們舉個例子的代碼:

sequelize.define('User', { 
    email: { 
    type: Sequelize.STRING, 
    unique: true 
    }, 
    password: { 
    type: Sequelize.STRING, 
    allowNull: false 
    } 
}); 

這是否意味着PostgreSQL將建立在email唯一索引?那麼,這只是一個簡略的方法嗎?

sequelize.define('User', { 
    email: { 
    type: Sequelize.STRING, 
    }, 
    password: { 
    type: Sequelize.STRING, 
    allowNull: false 
    } 
}, { 
    indexes: [ 
    { 
     unique: true, 
     fields: ['email'] 
    } 
    ] 
}); 

如果是這樣,這樣的索引會加快表格查詢電子郵件,還是隻保證唯一性?

謝謝!

回答

2

一個獨特的索引將做這兩個,它會加快查詢(因爲它必須創建一個索引),它會確保每個值都是唯一的。

相關問題