我有id, member_id, topic_id
字段。有時我使用id
,有時member_id
,有時使用條款中的topic_id
。我可以添加索引到它們全部嗎?它會讓它變慢嗎?我是MYSQL優化的新手,所以謝謝。Mysql索引,我可以添加多少個?
3
A
回答
4
未使用的索引不會使SELECT速度變慢,但是您添加的每個索引都會減慢INSERT和UPDATE。
一個MyISAM表可以有索引的最大數量爲64
2
在一般情況下,你想在每場單獨的指數,如果你只在單一領域進行過濾你的查詢,如下面的案例:
SELECT * FROM your_table WHERE id = ?;
SELECT * FROM your_table WHERE member_id = ?;
SELECT * FROM your_table WHERE topic_id = ?;
如果id
字段是主鍵,然後就是可能已經使用clustered index。因此,它看起來像你可能想嘗試member_id
和topic_id
創建兩個單獨的non-clustered indexes:
CREATE INDEX ix_your_table_member_id ON your_table (member_id);
CREATE INDEX ix_your_table_topic_id ON your_table (topic_id);
您還可能有興趣在研究的covering indexes的話題。
相關問題
- 1. 我可以將多少個域添加到我的應用中?
- 2. mysql索引添加
- 3. 在搜索呼叫中可以指定多少個索引?
- 4. 可以向UInavigationController添加多少BarButtonItems
- 5. 我們可以在Sphinx中爲分佈式索引使用多少個代理?
- 6. 我們可以從iPhone App向iCal添加多少活動?
- 7. 我們可以在數據表中添加多少列C#
- 8. 我可以使用InstantSearch Library搜索多個索引嗎?
- 9. 我可以在一個頁面中添加多少個iframe標籤?
- 10. 添加索引兩個多桌
- 11. 將索引添加到多個表
- 12. 我可以在悖論中添加索引到agregated字段
- 13. 我應該在mysql中的多個request_id上添加什麼類型的索引
- 14. 當數據被索引時,我可以自動將一個字段添加到彈性搜索索引嗎?
- 15. phpMyAdmin想要將多個索引添加爲一個多列索引
- 16. 可以使用多個索引編制索引的緩存
- 17. 要添加哪個索引?
- 18. RavenDB:我們可以傳遞參數來映射/減少索引
- 19. Mysql添加索引導致超時
- 20. 添加索引,優化MySQL查詢
- 21. MySQL的 - 添加索引,鏈接表
- 22. Mysql添加索引錯誤或否?
- 23. 可可NSIndexSet:多重索引。如何創建索引集,多個索引?
- 24. ReSharper可以自動添加缺少的引用嗎?
- 25. 多列mysql索引
- 26. MYSQL多列索引
- 27. Mysql多行索引
- 28. MySQL多列索引
- 29. 多列索引或者時間序列MySQL表多個索引?
- 30. 我可以向一個AnimationSet添加多個翻譯動畫
它會使INSERT和UPDATE慢很多還是隻有一點點?正如我可以看到你很擅長php/mysql,請檢查這個問題,如果你有時間:http://stackoverflow.com/questions/3138487/how-many-fields-is-normal-to-have-in-一張表 – 2010-06-29 08:08:53
一般來說,除非您正在執行巨大的更新,否則不值得擔心。對於大型插入,您可以臨時刪除索引並在之後重新構建它們 – 2010-06-29 08:14:09
此外,您可以使用EXPLAIN找出給定查詢是否使用了您期望的索引,並且還可以幫助您發現對新索引的需求 – 2010-06-29 08:15:25