我在一个后遗症服务器项目上使用PostgreSQL v3.5.1和PostgreSQL v9.4.4。
在模型定义中,我并不完全清楚将选项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']
}
]
});如果是这样的话,这样的索引会加快电子邮件的表查询速度,还是只会确保唯一性?
谢谢!
发布于 2015-08-14 17:12:42
一个唯一的索引将两者兼而有之,它将加快查询速度(因为它必须创建一个索引),并且它将确保每个值都是唯一的。
https://stackoverflow.com/questions/32013871
复制相似问题