2011-05-12 107 views
2

我在我的數據庫中有一些列,主要是varchar 255s。它們只能訪問一次,但每次加載/請求登錄的用戶都會加載一次。 (大多數情況下它們都包含用戶喜好等內容)。我應該在這些列上創建一個索引嗎?

我的問題是,我應該在這些列上創建索引嗎?我已經在其他列上使用了多個查詢的索引,而不是隻讀一次並像這些列一樣存儲。

回答

6

您只需要在用於排序或搜索的列上使用索引。

即。它們出現在JOIN,WHERE,HAVING,GROUPORDER BY條款中。

即使那樣,它也不是絕對必要的。

3

答案是這取決於.....看看你的查詢計劃,它將有利於添加索引?

您的查詢可能已經被目前存在的索引覆蓋。
請記住,添加索引會減慢更新/插入速度。

3

我認爲答案取決於列是否僅用於選擇,或者如果它們用於where子句或連接以及其他排序/查詢操作。

如果是前者,沒有索引,如果是後者,則查詢會更快與索引(以及通常)

2

如果我沒看錯的,索引列也將取決於有多少用戶在那裏以及每個用戶的偏好大小。例如,如果您有1000000個用戶偏好存儲,它肯定會幫助索引它。

相關問題