I know that mysql does this, but I don't quite understand why. If you have a child table referencing a parent table, I would understand why an index would be needed on the parent table. When inserting, you have to look up if a row exists in that table.
But why is an index automatically created in the child table? When does mysql use this index?