我添加了一個遷移到現有的數據庫,從自動生成系統中的一個主鍵更改爲基於以下命令複合鍵組合鍵:的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