2014-01-13 26 views
1

在mysql查詢中,我已經索引了一列但根本沒有使用索引。以下是mysql查詢的計劃。第一列表lmt未使用索引。請幫我提一些建議。 enter image description hereMYSQL使用類型'ALL'在解釋計劃

+1

提供查詢和表格架構+詳細信息,例如im'lmt'有多少行,以及它們中有多少個被選中? – zerkms

回答

4

在MySQL中輸入列解釋結果顯示MySQL如何加入使用的表。這是輸出中最有洞察力的領域之一,因爲它可以指示丟失的索引或查詢寫入的方式應該重新考慮。

全部 - 掃描整個表以查找匹配的連接行。這是最糟糕的連接類型,通常表示在表格中缺少適當的索引。

它在您的查詢解釋結果中清楚地表明沒有密鑰被使用並且整個表lmt已被掃描。因此,請務必避免出現這種情況,以提高查詢性能。

除了MySQL解釋文檔,請按照下面的URL瞭解EXPLAIN結果的詳細信息。

+0

感謝您的帖子usditesion。我索引列loan_item_id但mysql沒有使用它。我可以知道爲什麼嗎? –

+0

MySQL根據您的表結構,可用索引和您的SQL查詢執行最佳查詢計劃。如果索引沒有被利用,你必須首先關注所有這些事情。可能需要添加組合索引。組合索引中列的順序很重要。 – ursitesion