是否有一個標準的訂單來爲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. 涵蓋索引與集羣索引(數據庫索引)
- 3. MySQL索引和訂單
- 4. MySQL的:確定正確的索引
- 5. 什麼是SQL Server中的覆蓋索引和涵蓋查詢?
- 6. MySQL緩慢訂單索引列
- 7. 正確的MySQL索引這個簡單的查詢
- 8. 正確的索引
- 9. MySQL索引與訂購
- 10. 使用在MySQL索引正確
- 11. MySQL查詢不正確使用索引?
- 12. MySQL查詢優化:正確索引
- 13. MySQL的 - 搜索現場兩次
- 14. 涵蓋索引adventureworks 2008 R2 - 爲什麼不包含column WorkorderID?
- 15. 如何用MySQL過濾正確的訂單(一個訂單包含多行)
- 16. Mysql的覆蓋索引優化
- 17. 該訂單是現場宣佈
- 18. MySQL的 - 檢查列值(IP)出現在多個引用(訂單)
- 19. 滑塊涵蓋大型下拉菜單
- 20. 使用索引號的訂單元素
- 21. XQuery - 訂單未正確訂購
- 22. 修改訂單場
- 23. MySQL的使用上大表不正確的索引
- 24. rownum的訂單 - 它是否正確?
- 25. 什麼是正確的包括訂單
- 26. Rails:Applications.js當前正確的訂單
- 27. 正確的方式來處理2D的z索引的3D場景(的DirectX)
- 28. 正在檢索facebook訂單的詳情
- 29. 表的正確的索引給上市
- 30. MySql沒有爲幾個查詢選擇正確的索引
因此,如果我有一個where子句,然後添加索引where子句中的字段,然後在select語句中的所有字段? – John 2011-01-26 00:45:43