2015-05-21 88 views
-1

我正在使用Rails上的簡單用戶身份驗證系統。向列表添加索引的目的

由於這個我添加一列到我的用戶模型有一個身份驗證令牌。

在線閱讀資源我也應該明顯地爲此身份驗證令牌添加一個索引。有人能向我解釋添加索引的目的和理由嗎?

我知道這可能與確保令牌的唯一性有關,但我不明白指數如何或指數如何操作。下面是我的移民代碼

class AddAuthenticationTokenToUsers < ActiveRecord::Migration 
    def change 
    add_column :users, :auth_token, :string, default:"" 
    add_index :users, :auth_token, unique: true 
    end 
end 
+0

請參閱http://stackoverflow.com/questions/1108/how-does-database-indexing-work –

回答

0

你不需要身份驗證令牌是唯一的(但如果你正確地產生他們,這是不太可能會出現重複)。如果你想強制執行唯一性,你應該在validates_uniqueness_of的模型中執行。這受到可能的比賽條件的影響,但對此應該沒問題。

我不會創建索引,因爲這會給數據庫增加不必要的開銷。