4
A
回答
5
一般來說,是的。如果您在該字段上執行ORDER BY
,則應該將其編入索引。當然,你需要首先測試它,以確保它確實有幫助 - 如果你只選擇了少量的行,它可能沒有太大的區別。
4
你真的希望有一個sort_order
值maxes out at 9,223,372,036,854,775,807?!假設爲零,INT仍然相當大,最大值爲2,147,483,647 ...
取決於您的查詢,但我會考慮在獨立之前在覆蓋索引中使用它。 MySQL has a space limit on indexes,如果您定義每列索引,則可能會達到上限:
前綴支持和前綴長度(受支持的)是依賴於存儲引擎的。例如,對於MyISAM表,前綴可以長達1000個字節,對於InnoDB表,前綴可以長達767個字節。
2
正如埃裏克上面已經提到的,答案是肯定的。
儘管如此,如果你實際上是做了很多的插入和更新的表中,MySQL構建的,需要每一個有表中所做的更改時要更新的索引信息的單獨塊。因此在某些情況下可能會有開銷。
所以基本上這是一個混合的情況下,情節應始終考慮。
2
一般來說,沒有。你用搜索來證明索引。當你將記錄數減少到通常顯示的數字(比如說少於幾百)時,有一個索引不會爲你購買任何東西。
所以只能添加一個索引,如果你會使用字段選擇(其中包括,比如說,「LIMIT 500」爲實例。)
相關問題
- 1. 我應該在Rails應用程序中索引哪些字段?
- 2. 我應該索引我的TenantId列嗎?
- 3. 搜索字段上的TSQL索引,我應該包括Id
- 4. 我應該刪除假設索引嗎?
- 5. 我應該爲此創建索引嗎?
- 6. 我應該添加多個索引嗎?
- 7. MySQL:我應該讓我的表中的所有列索引?
- 8. 我應該索引一個已經是多字段索引一部分的字段嗎?
- 9. 我應該在彈性搜索中控制索引大小嗎?
- 10. 我應該索引與外鍵結合使用的排序鍵字段,還是單獨使用(mysql)?
- 11. MySQL - 索引,字段順序
- 12. 我應該爲每個使用的字段添加數據庫索引嗎?
- 13. 我應該結合我的MySQL表嗎?
- 14. 我在做MySQL表的索引嗎?
- 15. 我應該索引Oracle
- 16. 我應該在搜索唯一索引時限制嗎?
- 17. 我應該爲WHERE子句中的所有字段添加一個索引嗎? - MySQL
- 18. 我應該使用MySQL blob字段類型嗎?
- 19. 在mysql中使用where子句時,我應該使用索引嗎?
- 20. 我應該在Algolia中使用一個或多個索引嗎?
- 21. 我應該在這個查詢中使用索引嗎?
- 22. 應該索引多少個字段,我應該如何創建它們?
- 23. 我應該在OCaml中快速排序之前洗牌嗎?
- 24. 我應該索引NSSortDescriptor中使用的屬性嗎?
- 25. 我應該在經常更新的表上使用索引嗎?
- 26. 在MySQL中,我應該選擇哪種排序規則?
- 27. 我應該把索引放在什麼上的MySql?
- 28. 我應該創建什麼樣的索引來用於搜索和排序?
- 29. 我應該在我的應用程序中使用Log.d嗎?
- 30. 我應該添加一個像MarkedAsDeleted字段到我的表嗎?
即使在有限的記錄,有希望的性能每一點的商店,他們可以得到。 – 2010-06-22 22:14:43
這幾乎肯定是淨虧損。如果集合很小,「ORDER BY」不會受益;維護索引是純粹的開銷。 – dkretz 2010-06-23 01:43:18
「一般來說,否」不會涵蓋需要全表讀取並且有序讀取有益甚至是必需的情況嗎? – Harald 2015-06-30 12:27:39