【问题标题】:Sequelize: effects of "unique" property in model definitionSequelize:模型定义中“独特”属性的影响
【发布时间】:2015-11-07 22:25:50
【问题描述】:

我在 NodeJS 服务器项目上使用Sequelize 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']
    }
  ]
});

如果是这样,这样的索引会加快电子邮件的表查询速度,还是只是确保唯一性?

谢谢!

【问题讨论】:

    标签: node.js postgresql orm sequelize.js


    【解决方案1】:

    唯一索引可以做到这两点,它会加速查询(因为它必须创建一个索引),它会确保每个值都是唯一的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-16
      • 1970-01-01
      相关资源
      最近更新 更多