したがって、フィールドについては、id
(PK)、userId
(FK)およびskillId
(FK)、mysqlは(id)
にインデックスを自動的に作成します (一意)、および(userId)
のインデックス (一意ではない)および(skillId)
のインデックス (一意ではありません)。
(userId, skillId)
に追加の一意のインデックスが必要です 。
これにより、(userId)
の一意でないインデックスが置き換えられる可能性があります オプティマイザーは(userId, skillId)
を使用できるためです userId
で検索する必要がある場合は常にインデックスを作成します 。ただし、インデックスがmysqlの外部キーによって使用されるときにインデックスを作成および削除するのは面倒な場合があるため、複合一意インデックスを追加するだけでよい場合があります。