是否有一個標準的訂單來爲MySQL中的表創建一個覆蓋索引?這意味着如果我的查詢具有where子句,order by和select語句中的字段,按照什麼順序將索引字段設置爲正確創建覆蓋索引?涵蓋索引的正確的現場訂單 - MySQL
2
A
回答
3
覆蓋索引採用逗號分隔列表中的列表列表。該列表從左側開始遍歷/檢查。如果最左側的列未被使用,則不使用索引。這意味着,具有列名單,如:
col_a, col_b, col_c
如果查詢不包含col_a
一個參考,它不會被使用。如果訂單改爲:
col_c, col_b, col_a
...然後col_c
需要在查詢中被引用。繼續使用第二個覆蓋索引列示例,col_b
或col_a
不必位於查詢中,但評估按列從左至右移動。
爲索引使用列引用可以是在以下章節:
- SELECT
- WHERE
- GROUP BY
- HAVING
- ORDER BY
參考:
1
MySQL Optimization 7.5.2 Multiple-Column Indexes說:
MySQL在這樣一種方式,查詢速度快多列索引,當你在一個WHERE指定索引的第一列中的已知量子句,即使您沒有爲其他列指定值。
鏈接頁面上的例子還指出,該指數是不使用,如果你不爲索引中的第一列指定值。
相關問題
- 1. 涵蓋索引的用處
- 2. 涵蓋了MySQL的
- 3. 聚集索引和涵蓋的查詢
- 4. 涵蓋索引與集羣索引(數據庫索引)
- 5. MySQL索引和訂單
- 6. MySQL的:確定正確的索引
- 7. 什麼是SQL Server中的覆蓋索引和涵蓋查詢?
- 8. MySQL使用多個索引的訂單
- 9. MySQL緩慢訂單索引列
- 10. 按索引查詢Mysql訂單
- 11. 正確的MySQL索引這個簡單的查詢
- 12. 正確的索引是簡單的表
- 13. 正確的索引
- 14. 將保留的訂單ID轉換爲現場訂單
- 15. django表單設置現場訂單
- 16. MySQL索引與訂購
- 17. 索引中的正確索引
- 18. 的MySQL索引 - 在主場迎戰的Equals索引問題
- 19. UIScrollView涵蓋UIButton
- 20. onClicklistener涵蓋scaleGestureDetector
- 21. MySQL的 - 搜索現場兩次
- 22. MySQL查詢不正確使用索引?
- 23. MySQL查詢優化:正確索引
- 24. 使用在MySQL索引正確
- 25. 索引是否已涵蓋羣集主鍵?
- 26. 涵蓋索引adventureworks 2008 R2 - 爲什麼不包含column WorkorderID?
- 27. 如何用MySQL過濾正確的訂單(一個訂單包含多行)
- 28. 正確的索引順序
- 29. UITableViewCellAccessoryCheckmark涵蓋iOS上的7
- 30. Mysql的覆蓋索引優化
因此,如果我有一個where子句,然後添加索引where子句中的字段,然後在select語句中的所有字段? – John 2011-01-26 00:45:43