我有一個名爲clicks的表,它記錄了網站周圍的鼠標點擊。該模式是這樣的:涉及同一列的多個索引是否有用?
有此數據運行的3個主要的疑問:
- 「SELECT *中,pageid = XXXX」
- 「SELECT * WHERE visitorid = xxx和pageid = xxxx「
- 」SELECT visitorid,MIN(time)AS mintime WHERE pageid = xxxx GROUP BY visitorid「
未來我也可能在查詢中使用maintestid。因此,這看起來像:
- 「SELECT * WHERE maintestid = XXXX」
所以我加2個索引表中的這兩個,象這樣的主鍵一起查詢:
我有3個問題:
這個主鍵有用嗎?或者我應該只讓它成爲ID列?
pageid索引是否有用?或者,如果pageid的所有查詢都由pageid_visid索引處理,它會一樣快嗎?
當我想在未來通過maintestid進行搜索時,我應該在maintestid列上添加一個索引還是其他的東西?
「這將是更好,如果你只有一個ID爲主要因爲它是比較合適的」 - 你所說的「多指什麼適當」? – onedaywhen 2012-02-29 10:05:07