在MySQL 視圖查詢中使用索引
問題:
問題:您遇到效能問題使用MySQL 視圖,因為基於視圖的查詢中不使用基礎表上的索引。
原因:MySQL 不推送過濾謂詞(例如,WHERE) odd_in = 2006) 從外部查詢到視圖查詢。相反,它將視圖結果具體化為中間臨時表,並將謂詞應用於該表。因此,原表上的索引無法有效使用。
解決方案:要在視圖查詢中利用索引,您需要建立一個適當的索引,該索引可以由檢視查詢使用。在這種情況下,建議使用包含視圖查詢中引用的所有列的覆蓋索引。
最佳索引:CREATE INDEX highscores_IX3 ON highscores (player, gone_in,分數)
分數列的包含使索引成為覆蓋索引,使MySQL能夠滿足從索引頁的查詢,而無需訪問資料頁.
以上是如何利用 MySQL 視圖查詢中的索引來提高效能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!