まず、次のテーブル構造があります。
Table Document
## DocID ## ##DocName ##
1 Doc1
2 Doc2
3 Doc3
Table FolderTree
## FolderID ## ## MemberDocID ##
1 1
1 2
1 3
DocID、FolderID、および MemberDocID にインデックスがあります
次のクエリがあります。
SELECT DISTINCT d.* FROM Document d inner join FolderTree f on (d.DocID = f.MemberDocID ) where f.FolderID = 1
出力の説明:
| select type | table | type | possible_keys | key | rows | extra |
simple d All PRIMARY NULL 83168 Using temporary
simple f ref MemberDocID MemberDocID 11 Using index
私の質問は、DocID にインデックスがあるテーブル d で mysql がテーブル スキャンを使用するのはなぜですか?