2011-02-15 46 views
0

如果這是我的用戶表mysql優化/如何使用索引提示...?

user_id 
user_fname 
user_lname 
user_email 
user_pass 
user_verified 
user_city 
user_joined 
user_lastlogin 
user_about 

我設置的user_id爲PRIMARY(是一個自動增量值)

thaen,我應該設置的user_email爲指標?其他建議?

回答

2

您應該將索引添加到經常用於查詢條件,排序,連接的列中。 將索引添加到不在查詢中扮演任何角色的列是毫無意義的。

如果您有關於優化查詢的想法,首先,您應該在EXPLAIN查詢中查看它以查看查詢的複雜程度。

+0

這很有趣,我從來沒有聽說過EXPLAN(即時通訊自學SQL wannabe)......所以我如何使用EXPLAIN?直接在phpmyadmin附加到它的測試查詢? – Francesco 2011-02-15 20:31:54

+0

phpmyadmin肯定會這樣做。 – 2011-02-15 20:34:19

2

當你的表格被更頻繁地搜索而不是更新時,你應該使用索引。如果您的表格經常使用user_email進行搜索,那麼您可以在該列上使用索引。

請記住,如果user_email字段的更新頻率比在搜索條件中使用的頻率更高,那麼它最終會導致性能開銷。

here進一步瞭解。