回答
你可以用conter問題回答它:你什麼時候需要索引?
如果您想搜索條目,以便更快地獲得結果,則需要索引。例如,如果該列在where子句中使用。當然,你可以嘗試索引一切,但索引會導致你使用額外的內存/硬盤。因此,您只需索引用於查找行的列。
MySQL試圖找到您的行時正在讀取的行是MySQL,您可以使用EXPLAIN command進行分析。
這有幫助嗎?
一個經驗法則是,在小表上(小於大約100'000行)放置除主鍵唯一索引以外的所有索引。
此外,如果該列不用於搜索目的(例如員工的工資),則不適合使用索引。
當不在表格上創建索引時,有很多事情需要考慮。
首先,有很多可能的索引可以創建。例如,您可以創建一個索引,不僅包含表中的每一列,而且包含列的每個排列(因爲索引中的列排序很重要)。隨着列數的增加,這可能是大量的索引。
每個索引都帶有一些以不同方式降低性能的事情。例如,它們可能會佔用內存/磁盤空間。可能比這更糟糕的是,索引需要更新,當它下面的表更新。這意味着每個表中的插入/更新/刪除都可以觸發索引更新。由於你有更多的索引,那就是更新的索引,這可能會導致CUD操作性能下降,並且如果你經常這樣做,可能會導致服務器性能下降。
由於此性能影響,您希望避免「無用」索引。用於每個查詢的索引通常都很好,但每天只用於一次查詢的索引可能沒有用處。在試圖確定哪些索引足夠有用以及哪些索引的性能優勢高於性能匹配時,這都是一種折衷。
+1,提及CUD操作 –
- 1. 什麼時候適合使用雙向關聯,什麼時候不適用?
- 2. 什麼時候使用IoC合適?
- 3. 什麼時候合適?
- 4. SQL Server CASE什麼時候不使用CASE什麼時候
- 5. 什麼時候適合(真)回合?
- 6. 什麼時候不適合使用派生表?
- 7. 什麼時候適合使用不變文化?
- 8. 什麼時候工廠適合?
- 9. 什麼時候適合導入包?
- 10. 什麼時候DownloadManager更適合HttpUrlConnection?
- 11. 什麼時候MVC模式合適?
- 12. 什麼時候單元測試合適?
- 13. 什麼時候進行索引,在Mongoid中索引什麼?
- 14. 什麼時候應該使用AWS,什麼時候不使用
- 15. intn_t什麼時候使用它,什麼時候不使用
- 16. 什麼時候使用ByteString,什麼時候不使用?
- 17. 什麼時候使用適配器和什麼時候使用inflater
- 18. 什麼時候SQL視圖適合ASP.net MVC?
- 19. 什麼時候應該使用async/await,什麼時候不用?
- 20. 什麼時候返回空集合,什麼時候不是?
- 21. SQL爲什麼不使用PK索引?
- 22. 什麼時候適合使用手風琴?
- 23. 什麼時候適合使用泛型與繼承?
- 24. 什麼時候適合使用'new'關鍵字?
- 25. 什麼時候適合使用一個數據庫,在Python
- 26. 什麼時候適合在Rails 2.1中使用Time#utc?
- 27. Android:什麼時候使用FragmentTransaction.remove是否合適?
- 28. 什麼時候適合使用HTTP 412錯誤進行響應?
- 29. 什麼時候Unix命令rmdir適合使用?
- 30. 什麼時候適合使用不同的類而不是不同的對象?
您的意思是「不想在此字段或此表上包含索引」,或者「在給定查詢中不要使用此特定索引」? – Sethcran
我更新了我的問題 – webdad3