我添加了一个迁移到现有的数据库,从自动生成系统中的一个主键更改为基于以下命令复合键组合键:的Rails:创建我的PostgreSQL数据库
add_index :listings, [:telephone, :name, :latitude, :longitude] , :unique=>true
我的问题是:
该命令生成的索引是一个整数吗?由于所有的参数字段都是字符串。
如果我在db创建后运行这个命令,它是重新生成所有行的键还是必须为此运行单独的命令?
当这个命令运行时它有什么区别吗?如果在运行此表时没有行,而不是在表有行后运行它?
感谢
阅读下面的帖子后编辑:=============================== =====================
这是我的模型:
# Table name: listings
#
# id :integer not null, primary key
# name :string(50) default("ERROR:Not Available"), not null
# telephone :string(15) default("ERROR:Not Available"), not null
# latitude :string(15) default("ERROR:Not Available"), not null
# longitude :string(15) default("ERROR:Not Available"), not null
# avatar :string(30) default("Not Available")
因此,大家可以看到主键是id,自动生成由系统 当我添加上面的命令到底是什么时候呢?我认为它改变了ID字段,以便根据4列值生成一个整数。
正如你所猜测的那样,可能会有比同名的2人更多的人。所以保证唯一性的唯一方法就是根据4列创建某种索引。
通过使用上面的命令,我做对了吗? 这会加速查询吗?
PLease在您的文章发布后,请参阅上文中的编辑以及其他一些问题....谢谢 – banditKing 2012-04-28 17:09:32